Jump to content
Fórum Script Brasil
  • 0

VBA erro 1004


Question

alguém poderia me ajudar fazendo favor, pela primeira vez estou travado em um código de VBA.
Está ocorrendo o erro 1004, e já tentei de tudo mas não consigo entender o erro.

OBS( sou novo no VBA kkk então ignore se tiver muito feio esse código)


o código é grande.

Segue o código

 

Sub Puxar_fechamento()

Application.ScreenUpdating = False
Dim pasta As Object
Dim caminho_pasta As String
Dim planilha As Object
Dim nome As String

'sistema de repeticao para extrair o mes
Dim coluna As Integer

caminho_pasta = "C:\Users\ricar\Desktop\treino\"

Set pasta = CreateObject("scripting.filesystemobject").getfolder(caminho_pasta)


For Each arquivo In pasta.Files
If InStr(arquivo.Name, "Thumbs") = 0 Then

Set planilha = Workbooks.Open(caminho_pasta & arquivo.Name)

For Each mes In Workbooks(Workbooks.Count).Sheets(1).Range("B1:M1")
If mes = ThisWorkbook.Sheets(1).Range("S14") Then
coluna = mes.Column

nome = Workbooks(Workbooks.Count).Sheets(1).Range("A1").Value
conteudo = Workbooks(Workbooks.Count).Sheets(1).Range(Cells(2, coluna), Cells(8, coluna)).Value

For Each meses In ThisWorkbook.Sheets(nome).Range("B40:M40")
If meses = ThisWorkbook.Sheets(1).Range("S14") Then
coluna = meses.Column


ThisWorkbook.Sheets(nome).Range(Cells(41, coluna), Cells(47, coluna)) = conteudo         '( o erro está nessa linha)


End If

Next

End If

Next

planilha.Close

End If


Application.ScreenUpdating = True

    
Next

End Sub

Edited by Yuri Lucka
Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Consegui resolver.

Segue o código pra quem tiver curiosidade de como ficou:

 

Sub Puxar_fechamento()


Dim pasta As Object
Dim caminho_pasta As String
Dim planilha As Object
Dim nome As String
Dim coluna As Integer

caminho_pasta = "C:\Users\ricar\Desktop\treino\"
Set pasta = CreateObject("scripting.filesystemobject").getfolder(caminho_pasta)
For Each arquivo In pasta.Files
    If InStr(arquivo.Name, "Thumbs") = 0 Then
    
    Set planilha = Workbooks.Open(caminho_pasta & arquivo.Name)
        
        For Each mes In Workbooks(Workbooks.Count).Sheets(1).Range("B1:M1")
        If mes = ThisWorkbook.Sheets(1).Range("S14") Then
        coluna = mes.Column
        nome = Workbooks(Workbooks.Count).Sheets(1).Range("A1").Value
        conteudo = Workbooks(Workbooks.Count).Sheets(1).Range(Cells(2, coluna), Cells(8, coluna)).Value
            
            For Each meses In ThisWorkbook.Sheets(nome).Range("B40:M40")
            If meses = ThisWorkbook.Sheets(1).Range("S14") Then
            coluna = meses.Column
            ThisWorkbook.Sheets(nome).Activate
            Range(Cells(41, coluna), Cells(47, coluna)) = conteudo

            planilha.Close
            End If
            Next
        End If
        Next
    End If
Next

End Sub

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149150
    • Total Posts
      645417
×
×
  • Create New...