Por partes:
Referente ao problema apontado de numero 1.
Deve-se ao fato de que o combo estado (sigla) é limpo, e a rotina cmbUF_Change e acionada porem o index é nulo.
Altere conforme abaixo que deve resolver.
Private Sub cmbUF_Change()
cmbUF = UCase(cmbUF)
If cmbUF <> "" Then
Call CarregaMunicipios(Me.cmbUF.List(Me.cmbUF.ListIndex))
End If
End Sub
Referente ao problema apontado numero 2.
Não há tratamento para o cancelamento, portanto a rotina "tenta" carregar uma imagem inexistente, obviamente gerando erro; então é necessario prever o que fazer se houver esse cancelamento.
Uma possibilidade(da maneira abaixo, se houver o cancelamento a rotina sai do carregamento de imagem):
Private Sub Image1_Click()
Dim myPictName As String
Dim lLinha As Long
myPictName = Application.GetOpenFilename(filefilter:="Picture Files,*.ico;*.bmp;*.jpeg;*.jpg")
If myPictName <> "Falso" Then
If IsNumeric(lblCod.Caption) = True Then
Set currentFind = Worksheets("Dados").Range("A:A").Find(lblCod.Caption, , _
Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, _
Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, False)
lLinha = currentFind.Row
Else
lLinha = Sheets("Dados").Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
If myPictName <> "" Then
Me.Image1.Picture = LoadPicture(myPictName)
Image1.PictureSizeMode = fmPictureSizeModeStretch
Image1.Visible = False
Image1.Visible = True
Worksheets("Dados").Cells.Range("T" & lLinha).Value = myPictName
End If
End If
End Sub
Referente ao problema apontado numero 3.
Seu programa/rotina está retornando/gerando o numero de codigo quando da operação de salvar o registro novo, portanto se não for confirmado o codigo não é gerado.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 10/01/2013 10:52 am