- 12 Mar 2017 às 15:35
#21197
Boa tarde pessoal...tenho esta macro
Código: Selecionar todos
como podem verificar ela procura o ficheiro "LivroFinal"...no entanto este ficheiro poderá estar sempre a mudar de nome e aí tb tenho que mudar o nome na macro....existe alguma forma de a macro encontrar sempre o ficheiro independentemente do seu nome....esse ficheiro que falo é o único que acaba em formato .xlsm( não sei se ajuda ).Sub Filtrar()
Application.ScreenUpdating = False
Dim Sdata As Date
Workbooks.Open ("C:\Users\nelso\Desktop\excell\Preencher_Prod_Ramais\Guru\Livro 1.xlsx")
Workbooks.Open ("C:\Users\nelso\Desktop\excell\Preencher_Prod_Ramais\Guru\Livro 2.xlsx")
Workbooks.Open ("C:\Users\nelso\Desktop\excell\Preencher_Prod_Ramais\Guru\Livro 3.xlsx")
Workbooks("LivroFinal.xlsm").Activate
Sdata = InputBox("Insira sua data abaixo:")
Set LivroFinal = Workbooks("LivroFinal.xlsm").Sheets("Produção Diária")
LivroFinal.Range("Q4") = Sdata
For x = 1 To 3
If x = 1 Then r = 12
If x = 2 Then r = 6
If x = 3 Then r = 6
Set Livro = Workbooks("Livro " & x & ".xlsx").Sheets("Ficheiro Ramais a Executar")
Livro.Range("B1:R" & r).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=LivroFinal.Range("Q3:Q4"), _
CopyToRange:=LivroFinal.Range("B10000").End(xlUp).Offset(1, 0), _
Unique:=False
Next x
For excluir = 39 To LivroFinal.Range("B10000").End(xlUp).Row
If Cells(excluir, 2) = "Expediente" Then
Rows(excluir).Delete Shift:=xlUp
End If
Next excluir
Workbooks("Livro 1.xlsx").Close SaveChanges:=False
Workbooks("Livro 2.xlsx").Close SaveChanges:=False
Workbooks("Livro 3.xlsx").Close SaveChanges:=False
End Sub