Página 1 de 1

Erro no tempo de execução 1004: erro de definição de aplicativo ou definição de objeto

Enviado: 09 Set 2021 às 11:53
por AnaCaetano
Trata-se de um formulário simples, porém muito extenso. O erro está aparecendo na linha" Sheets("Lançamentos").Cells(Linha, 316).Value = hora_inicio20.Value". Quando tento cadastrar os dados, ele apresenta esse erro, ainda que o form abra normalmente. Segue fragmento do código e planilha em anexo (a linha que está em negrito é onde está apresentando o erro):

Private Sub CommandButton14_Click()
Call proc1
Call proc2
Call proc3
Call proc4
Call proc5
End Sub

Private Sub proc1()

Linha = Sheets("Lançamentos").Range("A1048576").End(xlUp).Row + 1
Sheets("Lançamentos").Cells(Linha, 1).Value = caixadata.Value
Sheets("Lançamentos").Cells(Linha, 2).Value = caixacodigo.Value
Sheets("Lançamentos").Cells(Linha, 3).Value = hora_inicio.Value
Sheets("Lançamentos").Cells(Linha, 4).Value = hora_fim.Value
Sheets("Lançamentos").Cells(Linha, 5).Value = executante.Value

If botaoveri1 = True Then
Sheets("Lançamentos").Cells(Linha, 6).Value = "X"
End If
If botaoajuste1 = True Then
Sheets("Lançamentos").Cells(Linha, 7).Value = "X"
End If
If botaotroca1 = True Then
Sheets("Lançamentos").Cells(Linha, 8).Value = "X"
End If
If botaolubri1 = True Then
Sheets("Lançamentos").Cells(Linha, 9).Value = "X"
End If
Sheets("Lançamentos").Cells(Linha, 10).Value = hora_inicio2.Value
Sheets("Lançamentos").Cells(Linha, 11).Value = hora_fim2.Value
Sheets("Lançamentos").Cells(Linha, 12).Value = executante2.Value
If botaoveri2 = True Then

...

End sub

(O código se repete por mais várias linhas, mudando apenas as colunas e o índice de hora_inicio, hora_fim e executante)

...

Private Sub proc2()

...

If botaoveri65 = True Then
Sheets("Lançamentos").Cells(Linha, 312).Value = "X"
End If

If botaoajuste65 = True Then
Sheets("Lançamentos").Cells(Linha, 313).Value = "X"
End If

If botaotroca65 = True Then
Sheets("Lançamentos").Cells(Linha, 314).Value = "X"
End If

If botaolubri65 = True Then
Sheets("Lançamentos").Cells(Linha, 315).Value = "X"
End If

Sheets("Lançamentos").Cells(Linha, 316).Value = hora_inicio20.Value
Sheets("Lançamentos").Cells(Linha, 317).Value = hora_fim20.Value
Sheets("Lançamentos").Cells(Linha, 318).Value = executante20.Value
...

Sheets("Lançamentos").Cells(Linha, 894).Value = observacao.Value
MsgBox ("Cadastrado com sucesso!"), vbInformation, "CADASTRO"

End sub

...

Re: Erro no tempo de execução 1004: erro de definição de aplicativo ou definição de objeto

Enviado: 11 Set 2021 às 19:04
por Jonathaluis
Boa noite!
Segue ajustada.
A variável Linha não tinha sido declarada e como ela é utilizada em todas as procs tem que ser uma variável global, então criei ela dentro de um dos módulos, o erro não apresentou mais, mas não testei preenchendo tudo e vendo se realmente está salvando.

Re: Erro no tempo de execução 1004: erro de definição de aplicativo ou definição de objeto

Enviado: 13 Set 2021 às 10:08
por AnaCaetano
Muito obrigada!! O problema realmente foi resolvido.
Grata, abraços. :D :D