Notifications
Clear all

Erro - O objeto é obrigatório

2 Posts
2 Usuários
0 Reactions
798 Visualizações
(@carloshvb)
Posts: 99
Trusted Member
Topic starter
 

Boa tarde pessoal,

Estou desenvolvendo uma planilha onde quero criar um pequeno banco de dados com as informações da planilha toda vez que clico no botão "Troca".

Para isso renomeei as células B2, B3, H2, I3 e J3 para TotalDias, TotalProd, codcalc, DataIni e DataFin respectivamente e acrescentei o código abaixo não planilha Plan1(Controle)

Private Const NomePlanSaida As String = "Controle"

Private Sub Workbook_Open()

    Dim Dados As Worksheet
    Set Dados = ThisWorkbook.Worksheet(NomePlanSaida)
    CadastroCodigo = Dados.Range("codcalc").Value + 1
    Contagem = Dados.Range("codcalc").Value + 3
    DiasT = Dados.Range("TotalDias").Value
    ProdP = Dados.Range("TotalProd").Value
    DataI = Dados.Range("DataIni").Value
    DataF = Dados.Range("DataFin").Value
    
End Sub


Sub Troca_Click()

Dados.Range("codcalc").Value = CadastroCodigo
AtualizaPlanilha
MsgBox "Atualização Efetuada"
CadastroCodigo = Dados.Range("codcalc").Value + 1
Dados.Range("DataIni").Value = DataF

End Sub

Sub AtualizaPlanilha()

   With Dados
        
        .Cells(Contagem, 7).Value = ProdP
        .Cells(Contagem, 6).Value = DiasT
        .Cells(Contagem, 5).Value = DataF
        .Cells(Contagem, 4).Value = DataI
        .Cells(Contagem, 3).Value = CadastroCodigo
        
    End With

End Sub

Porem, ao clicar no botão "Troca" recebo uma mensagem de erro dizendo "O objeto é obrigatório", mas não me diz onde está o erro.

Por isso vim pedir a ajuda de vocês para checar o código e ver onde foi que errei.

OBS1: estou adaptando o código de outro programa que tenho.
OBS2: anexei um exemplo
OBS3: a planilha de exemplo tem vinculos, mas podem ser ignorados, as informações já estão na planilha

Desde já agradeço a atenção, obrigado.

 
Postado : 11/08/2015 11:57 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Algumas inconsistência no código:
A definição da Variável Dados é efetuada somente na abertura, efetue a definição também na sub Troca..., ou defina Dados como variável global.
Na sub Atualiza.., falta a definição/atribuição de valor da variável "contagem" e também da variável Dados (vide acima0

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/08/2015 7:22 am