Notifications
Clear all

ERRO EM TEMPO DE EXECUÇÃO 1004

3 Posts
1 Usuários
0 Reactions
890 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá pessoal, tenho uma planilha com uma macro para organizar os dados na aba(Dados) e após organizar a macro importa os dados da aba(Dados) para aba(Relatório) do mesmo arquivo, mas esta dando um erro de execução 1004: O método Select da classe Range falhou, e quando depura demarca a linha:
Plan2.Cells(linha, 2).Select

Sub Org_Rel()
Application.ScreenUpdating = False
    Sheets("Dados").Select
    Rows("1:2").Select
    Selection.Delete Shift:=xlUp
    Columns("C:C").Select
    Selection.Copy
    Columns("D:D").Select
    Selection.Insert Shift:=xlToRight
    Range("D1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "Observação"
    Range("D2").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$k$23").AutoFilter Field:=2, Criteria1:= _
        "=Observações", Operator:=xlOr, Criteria2:="="
    Rows("3:500").Select
    Selection.Delete Shift:=xlUp
    ActiveSheet.Range("$A$1:$k$13").AutoFilter Field:=2
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    Range("A1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveCell.FormulaR1C1 = "FIM"
    Range("A1").Select
    Selection.AutoFilter
Call RotinaFormato
Application.ScreenUpdating = True
End Sub

'-------------------------------------------------------------------------
 Sub RotinaFormato()
 
    Dim sRange
    Dim sLin, I As Long
    Dim sAdr As String
    Dim MyMonth, MyMonth2, MyStr
    Dim sDtInicio
    
    sDtInicio = [G2] 'Data Inicial em G2
    
    MyMonth = Month(sDtInicio) 'Capta o Mes Inicial em G2
    
    sLin = Range("G65536").End(xlUp).Row  ' Ultima linha preenchida
    
    Set sRange = Sheets("Dados").Range("G2:" & "G" & sLin)

    For Each sLin In sRange
    
        sAdr = sLin.Address(False, False)
        
        MyMonth2 = Month(sLin)
        
         If Left(sLin, 2) < 13 Then
           MyStr = Format(sLin, "mm/dd/yyyy")
           Range(sAdr).Value = CDate(MyStr)
         Else
           MyStr = Format(sLin, "dd/mm/yyyy")
           Range(sAdr).Value = CDate(MyStr)
         End If
    Next
Call historico
End Sub

'----------------------------------------------------------------------------
Sub historico()

Dim linha_dados
Dim linha
        
linha_dados = 2
linha = 2

While (Plan2.Cells(linha, 2) <> "")
    linha = linha + 1
    Wend
    Plan2.Cells(linha, 2).Select
    While (Plan9.Cells(linha_dados, 1).Text <> "FIM")
     If (Plan9.Cells(linha_dados, 1).Text <> "") Then
          Plan2.Cells(linha, 2) = Plan9.Cells(linha_dados, 1).Text 'Grupo
          Plan2.Cells(linha, 3) = Plan9.Cells(linha_dados, 2).Text 'Motivo
          Plan2.Cells(linha, 4) = Plan9.Cells(linha_dados, 3).Text 'Causa
          Plan2.Cells(linha, 5) = Plan9.Cells(linha_dados, 4).Text 'Observação
          Plan2.Cells(linha, 6) = Plan9.Cells(linha_dados, 7) 'Data
          Plan2.Cells(linha, 7) = Plan9.Cells(linha_dados, 11) 'Hora
          linha = linha + 1
      Else
         linha_dados = linha_dados + 1
      End If
    Wend
    MsgBox "Dados organizados com sucesso!"
End Sub

silvajmp
http://www.4shared.com/file/EtS0VKJcce/CONTROLE_DE_PARADAS.html

 
Postado : 06/07/2014 2:07 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Silva

Plan2.Cells(linha, 2).Select

Não baixei teu arquivo para verificar, mas será que não é o nome da planilha que está errado, consta aí no código como Plan2 e você falou que uma planilha chama-se Dados e a outra Relatório?

[]s

 
Postado : 06/07/2014 4:46 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Patropi boa noite, eu acho que não deve ser isso, pois renomeei com os nomes de origem das abas e fiz os teste e mesmo assim, deu o mesmo erro.

silvajmp

 
Postado : 06/07/2014 7:07 pm