sagostinho Posted November 25, 2019 at 10:52 PM Report Share #616706 Posted November 25, 2019 at 10:52 PM Boa Noite, Sou Novo no VBA e estou a tentar desenvolver uma macro que me faça o seguinte: tenho Vários dados em 5 colunas e o que pretendo fazer é um filtro pela coluna [E] e que adicione novo livro em csv com o nome do filtro, mas se o livro já existir então vai colar os dados de acordo a coluna [A]. ex:macro faz filtro pela coluna E, copia linha 1, 2 para um novo livro com o nome 100, se esse livro já existe, então vai copiar os dados e colar na ultima célula preenchida se não existir as datas 15/08/2019 ou 16/08/2019, se as datas existirem então substituir os dados. O que tenho até agora é a seguinte macro que encontrei na internet. se me pudessem ajudar agradecia imenso, obrigado. Sub DistributeRowsToNewWBS() Dim wbNew As Workbook Dim wsData As Worksheet Dim wsCrit As Worksheet Dim wsNew As Worksheet Dim rngCrit As Range Dim LastRow As Long Set wsData = Worksheets("Folha1") ' name of worksheet with the data Set wsCrit = Worksheets.Add LastRow = wsData.Range("e" & Rows.Count).End(xlUp).Row ' column H has the criteria wsData.Range("e1:e" & LastRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wsCrit.Range("A1"), Unique:=True Set rngCrit = wsCrit.Range("A2") While rngCrit.Value <> "" Set wsNew = Worksheets.Add ' change E to reflect columns to copy wsData.Range("A1:E" & LastRow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rngCrit.Offset(-1).Resize(2), CopyToRange:=wsNew.Range("A1"), Unique:=True wsNew.Name = rngCrit wsNew.Copy Set wbNew = ActiveWorkbook ' saves new workbook in path of existing workbook wbNew.SaveAs ThisWorkbook.Path & "\" & rngCrit wbNew.Close SaveChanges:=True Application.DisplayAlerts = False wsNew.Delete rngCrit.EntireRow.Delete Set rngCrit = wsCrit.Range("A2") Wend wsCrit.Delete Application.DisplayAlerts = True End Sub https://ibb.co/nQgNqM1 Link to comment Share on other sites More sharing options...
Afonso Mira Posted December 16, 2019 at 02:20 PM Report Share #616868 Posted December 16, 2019 at 02:20 PM Boa tarde @sagostinho. Poderia explicar como iria ser feito esse filtro? Seria uma entrada automática (Que iria buscar a outro ficheiro), ou seria uma entrada manual (por exemplo uma caixa de input onde seria inserido o valor a ser filtrado)- Obrigado e aguardo respostas. Cumps, Afonso Mira Afonso Mira 😃 Programador de Produção em: Aernnova Évora Link to comment Share on other sites More sharing options...
sagostinho Posted December 22, 2019 at 07:52 PM Author Report Share #616908 Posted December 22, 2019 at 07:52 PM Boa noite Afonso, Os dados são colados por mim nessa folha, e depois carrego num botão e corro a macro. Obrigado Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now