experimente a rotina do "Gravar" conforme abaixo:
Private Sub btngravar_Click()
Dim i As Long, UltimaLinha As Long
UltimaLinha = Sheets("Dados").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If UltimaLinha < 3 Then UltimaLinha = 3
For i = 3 To UltimaLinha
If Range("A" & i).Value = txtnnf.Text And Range("B" & i).Value = boxempresas.Value Then
MsgBox "Nota e Empresa já cadastrada!", vbCritical, "CADASTRO"
Exit Sub
End If
Next
whith Sheets("Dados")
linha = UltimaLinha + 1
.Cells(linha, 1) = txtnnf
.Cells(linha, 2) = boxempresas
If btnplo.Value = True Then Cells(linha, 3) = "PLO"
If btn99.Value = True Then Cells(linha, 3) = "99"
.Cells(linha, 4) = txtdata
.Cells(linha, 5) = Val(txtpesoNF)
.Cells(linha, 6) = Val(txtpesobal)
.Cells(linha, 7) = txtimp
.Cells(linha, 8) = Labeldiferença
.Cells(linha, 9) = Labelglosa
End With
'limpar depois que confirmar
'mensagem confirmando que os dados foram salvos
If MsgBox("Dados salvos com sucesso!", 48 + 0, "Atenção") = vbOK Then
boxempresas = ""
txtdata = ""
txtnnf = ""
txtpesoNF = ""
txtpesobal = ""
txtimp = ""
Labeldiferença = ""
Labelglosa = ""
End If
UltimaLinha = Sheets("Dados").Cells(Cells.Rows.Count, 1).End(xlUp).Row
Label13.Caption = Range("A" & UltimaLinha).Value
Label15.Caption = Range("D" & UltimaLinha).Value
Label17.Caption = Range("E" & UltimaLinha).Value
End Sub
Não verifiquei a proposta do colega Arruda, mas ... Segue como adicional/possibilidade
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 24/09/2018 6:19 am