Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Pegorini 12 Jul 2019 às 15:32
Membro 1 Estrela
Mensagens: 19
Reputação: 0
#45520
Olá Senhores.

Minha macro apresenta o erro 1004 "Erro 1004 - Definição de aplicativo ou definição de objeto"

Na linha abaixo:

Nome1 = ThisWorkbook.Worksheets("Plan1").Range("A" & i).Value

Alguém consegue me ajudar?



Sub ValidarDados()

Dim i As Long

Dim UltimaLinha As Long

UltimaLinha = Sheets("Plan1").Cells(Cells.Rows.Count, 1).End(xlUp).Row

If UltimaLinha < 2 Then UltimaLinha = 2

'With ThisWorkbook.Sheets("Plan1")



Nome1 = ThisWorkbook.Worksheets("Plan1").Range("A" & i).Value
Debito = ThisWorkbook.Worksheets("Plan1").Range("C" & i).Value
Nome2 = ThisWorkbook.Worksheets("Plan1").Range("D" & i).Value
Credito = ThisWorkbook.Worksheets("Plan1").Range("F" & i).Value






For i = 2 To UltimaLinha


If Range("A" & i).Value = Range("D" & i).Value And Range("C" & i).Value = Range("F" & i).Value Then


ThisWorkbook.Worksheets("Plan1").Range("G" & i).Value = "Conciliado"



End If




Next

'End With



End Sub
Apenas usuários registrados podem ver ou baixar anexos.
Por babdallas 12 Jul 2019 às 15:46
Membro 5 Estrelas
Mensagens: 1749
Reputação: 778
#45522
Note o trecho de código abaixo

Código: Selecionar todosSub ValidarDados()

Dim i As Long

Dim UltimaLinha As Long

UltimaLinha = Sheets("Plan1").Cells(Cells.Rows.Count, 1).End(xlUp).Row

If UltimaLinha < 2 Then UltimaLinha = 2

Nome1 = ThisWorkbook.Worksheets("Plan1").Range("A" & i).Value
Debito = ThisWorkbook.Worksheets("Plan1").Range("C" & i).Value
Nome2 = ThisWorkbook.Worksheets("Plan1").Range("D" & i).Value
Credito = ThisWorkbook.Worksheets("Plan1").Range("F" & i).Value



Note que em nenhum momento você definiu o valor da variável i. Logo, ela assume o valor de zero. Assim, você estaria tentando pegar o valor de células com linha 0, que não existem.