Erro 1004
Enviado: 16 Mai 2017 às 12:03
Preciso gerar mais de 300 relatórios individualizados em batelada. Gravei uma macro no Excel e tentei edita-la no VBA, mas estou enfrentando problemas, deu o erro de execução 1004.
As linhas que estão dando erro estão em negrito. Preciso que o x e o y variem, e que pra cada variação seja salvo um arquivo PDF diferente.
Aproveito para indagar aos colegas, como faço para que os nomes dos arquivos PDF sejam diferentes para cada arquivo salvo? (Também preciso alterar isso na minha fórmula..)
Eis o meu código:
Sub tci()
'
' tci Macro
' TCI
'
' Atalho do teclado: Ctrl+ç
'
Dim i As Integer, x As Integer, y As Integer
For i = 1 To 346
x = i - 8
y = i - 12
Range("E9:I9").Select
ActiveCell.FormulaR1C1 = "='Dados Puros'!R[x]C[-4]"
Range("E13:I13").Select
ActiveCell.FormulaR1C1 = "='Dados Puros'!R[y]C[-3]"
Range("E14:I14").Select
ActiveWindow.SmallScroll Down:=9
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Samia\Desktop\TCI\relatorio_batelada.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Next i
End Sub
As linhas que estão dando erro estão em negrito. Preciso que o x e o y variem, e que pra cada variação seja salvo um arquivo PDF diferente.
Aproveito para indagar aos colegas, como faço para que os nomes dos arquivos PDF sejam diferentes para cada arquivo salvo? (Também preciso alterar isso na minha fórmula..)
Eis o meu código:
Sub tci()
'
' tci Macro
' TCI
'
' Atalho do teclado: Ctrl+ç
'
Dim i As Integer, x As Integer, y As Integer
For i = 1 To 346
x = i - 8
y = i - 12
Range("E9:I9").Select
ActiveCell.FormulaR1C1 = "='Dados Puros'!R[x]C[-4]"
Range("E13:I13").Select
ActiveCell.FormulaR1C1 = "='Dados Puros'!R[y]C[-3]"
Range("E14:I14").Select
ActiveWindow.SmallScroll Down:=9
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Samia\Desktop\TCI\relatorio_batelada.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Next i
End Sub