Estoy haciendo el ejercicio de Youtube del siguiente enlace y quiero aprender una cuestión que no explican en el video para mejorar la macro
https://www.youtube.com/watch?v=KH42t9oNvII&list=PLqv8lhx3BTVvdX7NRfg4g24nw2BXbOw29
Como resumen. En el video proponen buscar mediante el código y me gustaría poder buscar por más campos, por ejemplo, por el mail o por el teléfono.
No estoy consiguiendo escribir el código para que pueda buscar en alguno de los tres.
La parte del código que quiero mejorar es la de buscar para habilitar el email y/o el teléfono.
Sub Guardar()
Dim celda As Range
Dim Fila As Long
If Hoja1.Range("codigo").Value = "" Then
MsgBox "El código está vacío"
Else
Set celda = Hoja2.Range("A:A").Find(what:=Hoja1.Range("codigo").Value, after:=Hoja2.Range("A1"))
If celda Is Nothing Then
Fila = Hoja2.Cells(Hoja2.Rows.Count, 1).End(xlUp).Row + 1
Hoja2.Cells(Fila, 1).Value = Hoja1.Range("codigo").Value
Hoja2.Cells(Fila, 2).Value = Hoja1.Range("nombre").Value
Hoja2.Cells(Fila, 3).Value = Hoja1.Range("apellidos").Value
If IsDate(Hoja1.Range("nacimiento").Value) = False Then
MsgBox "Formato de fecha incorrecta"
Eliminar
Exit Sub
Else
Hoja2.Cells(Fila, 4).Value = Hoja1.Range("nacimiento").Value
End If
Hoja2.Cells(Fila, 5).Value = Round(Date = Hoja1.Range("Nacimiento").Value / 365, 0)
Hoja2.Cells(Fila, 6).Value = Hoja1.Range("telefono").Value
Hoja2.Cells(Fila, 7).Value = Hoja1.Range("email").Value
MsgBox "Cliente guardado"
Else
MsgBox "Cliente ya existente"
End If
Hoja1.Range("codigo").Value = ""
Hoja1.Range("nombre").Value = ""
Hoja1.Range("apellidos").Value = ""
Hoja1.Range("telefono").Value = ""
Hoja1.Range("email").Value = ""
Hoja1.Range("nacimiento").Value = ""
End If
End Sub
Sub Eliminar()
Dim celda As Range
If Hoja1.Range("Codigo").Value = "" Then
MsgBox "Introduce un código"
Else
Set celda = Hoja2.Range("A:A").Find(what:=Hoja1.Range("Codigo").Value, after:=Hoja2.Range("A1"))
If celda Is Nothing Then
Hoja1.Range("Codigo").Value = ""
MsgBox "Código no encontrado"
Else
celda.EntireRow.Delete
End If
End If
End Sub
Sub Limpiar()
Hoja1.Range("B5").Value = ""
Hoja1.Range("E5").Value = ""
Hoja1.Range("B7").Value = ""
Hoja1.Range("E7").Value = ""
Hoja1.Range("B9").Value = ""
Hoja1.Range("E9").Value = ""
End Sub
Sub Buscar()
Dim celda As Range
If Hoja1.Range("Codigo") = "" Then
MsgBox "Escribe un código para buscar"
Else
Set celda = Hoja2.Range("A:A").Find(what:=Hoja1.Range("Codigo").Value, after:=Hoja2.Range("A1"))
If celda Is Nothing Then
Hoja1.Range("Codigo") = ""
MsgBox "Código no introducido"
Else
Hoja1.Range("Nombre").Value = celda.Offset(0, 1).Value
Hoja1.Range("Apellidos").Value = celda.Offset(0, 2).Value
Hoja1.Range("Nacimiento").Value = celda.Offset(0, 3).Value
Hoja1.Range("Telefono").Value = celda.Offset(0, 5).Value
Hoja1.Range("Email").Value = celda.Offset(0, 6).Value
End If
End If
End Sub