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
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 06/07/2014 2:07 pm