Amigos do fórum, agradeço a todos pela disponibilidade de tentatem ajudar. Acabei conseguindo resolver meu problema através do método Find (tinha esquecido dele) Hehehe
O código já adaptado e totalmente funcional ficou assim:
Private Sub botao_Cadastrar_Click()
On Error GoTo ErroNoSistema
Dim Servidor, DataIda, DataVolta
Dim Linha As Integer
Dim Rng1, Rng2, Rng3 As Range
Servidor = txt_Servidor.Value
DataIda = Format(DTPicker_Ida.Value, "dd/mm/yyyy")
DataVolta = Format(DTPicker_Volta.Value, "dd/mm/yyyy")
Set Rng1 = Sheets("dados").Range("E:E").Find(Servidor)
Set Rng2 = Sheets("dados").Range("G:G").Find(DataIda)
Set Rng3 = Sheets("dados").Range("H:H").Find(DataVolta)
If Not Rng1 Is Nothing And Not Rng2 Is Nothing And Not Rng3 Is Nothing Then
MsgBox ("Já existe uma diária para o servidor '" & Rng1.Offset(, 0) & "' com essas datas de Ida e Volta cadastrados no sistema." _
& vbCrLf & vbCrLf & "FAVOR VERIFICAR."), vbExclamation, ("AVISO DE DUPLICIDADE")
Exit Sub
Else
Linha = Sheets("dados").Range("A" & Rows.Count).End(xlUp).Row
Linha = Linha + 1
Sheets("dados").Cells(Linha, 1).Value = txt_AnoReferencia.Value
Sheets("dados").Cells(Linha, 2).Value = Remove_Acentos(ComboBox_MesReferencia.Value)
Sheets("dados").Cells(Linha, 3).Value = txt_Processo.Value
Sheets("dados").Cells(Linha, 4).Value = Remove_Acentos(txt_SetorDemandante.Value)
Sheets("dados").Cells(Linha, 5).Value = Remove_Acentos(txt_Servidor.Value)
Sheets("dados").Cells(Linha, 6).Value = Remove_Acentos(txt_CidadeDestino.Value)
Sheets("dados").Cells(Linha, 7).Value = Format(DTPicker_Ida.Value, "dd/mm/yyyy")
Sheets("dados").Cells(Linha, 8).Value = Format(DTPicker_Volta.Value, "dd/mm/yyyy")
Sheets("dados").Cells(Linha, 9).Value = txt_QuantidadeDiaria.Value
Sheets("dados").Cells(Linha, 10).Value = txt_ValorDiaria.Value
ThisWorkbook.Save
MsgBox "Registro incluído no sistema com sucesso." & vbCrLf & vbCrLf & "Clique em OK para continuar.", vbInformation, "CONFIRMAÇÃO"
Unload Me
frmCadastro.Show
End If
Exit Sub
ErroNoSistema:
MsgBox "O sistema encontrou um Erro de execução." & vbCrLf & "Contate o desensolvedor do projeto." _
& vbCrLf & vbCrLf & "Clique em OK para encerrar a aplicação.", vbCritical, "ERROR"
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.Quit
Resume Next
End Sub
Problema resolvido.
DGAF / DVGD - Divisão de Gestão de Documentos
Rafael A. Guimarães
[email protected]
Postado : 31/07/2014 8:27 am