Página 1 de 1

Erro 1004

Enviado: 16 Mai 2017 às 12:03
por SamGen
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

Erro 1004

Enviado: 17 Mai 2017 às 11:28
por PietroFarias
O erro está ocorrendo pois o X e o Y estão dentro da aspa, o que transforma elas em texto e não mais em variáveis.
Com isso substitua as linhas que estão com erro por:
Código: Selecionar todos
ActiveCell.FormulaR1C1 = "='Dados Puros'!R[" & x & "]C[-4]"
Código: Selecionar todos
ActiveCell.FormulaR1C1 = "='Dados Puros'!R[" & y & "]C[-3]"
Outro detalhe, cada geração do PDF será aberto, você quer isso mesmo? Já que são tantos PDF. Caso não queira na opção OpenAfterPublish:=True, altere o valor TRUE para FALSE.

Para alterar o nome do PDF voc~e tem que criar uma variável e incluir no nome do arquivo. Por exemplo:
Código: Selecionar todos
Dim Nome as String

Nome = "Ai tem que saber onde está essa variavel"

'E então na publicação inserir o nome da variavel no arquivo
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Samia\Desktop\TCI\relatorio_batelada_" & Nome & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

Deu para entender?

Re: Erro 1004

Enviado: 17 Mai 2017 às 13:20
por SamGen
Muito obrigada Pietro!

Tudo resolvido! Você me salvou! =D

Erro 1004

Enviado: 18 Mai 2017 às 10:25
por PietroFarias
Que bom! Depois só mandar um joinha! ;)