Bom Dia Pessoal,
Pessoal preciso de uma ajudinha com um script para editar dados. Não estou entendendo o motivo desse erro uma vez que utilizo o mesmo códigos para outras telas.
Esta dando ESTOURO: Erro em tempo de execução '6'
Pesquisei: Essa mensagem de erro aparece quando o cálculo matemático envolve números ou variáveis de um tipo de dados, como número inteiro, e atribuir o resultado do cálculo a uma variável de um tipo de dados diferentes, como Double ou Long, mesmo se o resultado do cálculo está dentro do intervalo do tipo de dados para a variável resultante.
Veja onde esta em negrito, sublinhado e com smilies, la esta o erro.
Resolvi tornar o Dim i As Byte em Dim i As Long para tornar igual. Mas ai ocorre outro erro. Ele adiciona na linha de baixo da que deve ser editado os dados da linha a ser alterada.
O que será?
Caso tiverem algum outro script para editar dados, também ajuda.
Private Sub cmdeditar_Click()
Sheets("Formação de Preço e Catalogação").Select
' mensagem solicitando autorização
If MsgBox("Tem certeza que deseja editar este contato?", vbYesNo, "") = vbNo Then
Exit Sub
Else
' desabilita atualização da tela
Application.ScreenUpdating = True
' abre o filtro da coluna a
ActiveSheet.Range("$a:$a").AutoFilter Field:=1
' mostra todas as linhas ocultas
Cells.EntireRow.Hidden = False
' procura o nome e escreve os dados na planilha
Dim Lin As Long
Dim i As Byte
[color=#000000] For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row[/color]
If Cells(i, 1) = Me.txtcodref Then
Lin = Cells(i, 1).Row
Exit For
End If
Next
Dim lCodRef As Long
Dim lSeqEntNf As Long
Dim lCodProduto As Long
Dim cCtBruto As Currency
Dim dDtEntNf As Date
Dim sNfDoc As String
Dim sFornecedor As String
Dim sProduto As String
Dim sTipo As String
Dim lQt As Long
Dim sNomePeca As String
Dim lNumeroAneis As Long
Dim dPesoPeca As Double
Dim dIndMlg As Double
Dim dIndPeso As Double
Dim sEmpresaBanho As String
Dim cValorOutros As Currency
Dim sDescricaoOutros As String
Dim dIndCalc As Double
Dim cPrecorev As Currency
Dim cPrecoLoja As Currency
Dim cCtUnid As Currency
Dim cTotalPrecoFinal As Currency
Dim cTotalEnt As Currency
Dim dParticipacao As Double
lCodRef = Me.txtcodref
lSeqEntNf = Me.cbseqentnf
lCodProduto = Me.cbcodproduto
cCtBruto = Me.txtctbruto
dDtEntNf = Me.txtdtentnf
sNfDoc = Me.txtnfdoc
sFornecedor = Me.txtfornecedor
sProduto = Me.txtproduto
sTipo = Me.txttipo
lQt = Me.txtqt
sNomePeca = Me.txtnomepeca
lNumeroAneis = Me.txtnumeroaneis
dPesoPeca = Me.txtpesopeca
dIndMlg = Me.txtindmlg
dIndPeso = Me.txtindpeso
sEmpresaBanho = Me.txtempresabanho
cValorOutros = Me.txtvaloroutros
sDescricaoOutros = Me.cbdescricaooutros
dIndCalc = Me.txtindcalc
cPrecorev = Me.txtprecorev
cPrecoLoja = Me.txtprecoloja
cCtUnid = Me.txtctunid
cTotalPrecoFinal = Me.txttotalprecofinal
cTotalEnt = Me.txttotalent
dParticipacao = Me.txtparticipacao
Cells(i, 1) = lCodRef
Cells(i, 2) = lSeqEntNf
Cells(i, 6) = lCodProduto
Cells(i, 10) = cCtBruto
Cells(i, 3) = dDtEntNf
Cells(i, 5) = sNfDoc
Cells(i, 4) = sFornecedor
Cells(i, 7) = sProduto
Cells(i, 9) = sTipo
Cells(i, 11) = lQt
Cells(i, 8) = sNomePeca
Cells(i, 34) = lNumeroAneis
Cells(i, 14) = dPesoPeca
Cells(i, 13) = dIndMlg
Cells(i, 15) = dIndPeso
Cells(i, 12) = sEmpresaBanho
Cells(i, 35) = cValorOutros
Cells(i, 36) = sDescricaoOutros
Cells(i, 21) = dIndCalc
Cells(i, 17) = cPrecorev
Cells(i, 18) = cPrecoLoja
Cells(i, 16) = cCtUnif
Cells(i, 20) = cTotalPrecoFinal
Cells(i, 19) = cTotalEnt
Cells(i, 23) = dParticipacao
End If
MsgBox "Cadastro " & Me.txtcodref & " editado com sucesso.", vbOKOnly, ""
Application.DisplayAlerts = False 'Disabilita o prompt
ActiveWorkbook.Save 'Salva as alterações
Application.DisplayAlerts = True 'Habilita o prompt
End Sub
Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------
Postado : 10/05/2013 4:47 pm