Buscar en dos campos |
Responder
|
| Autor | |
Íñigo
Nuevo
Unido: 17/Octubre/2023 Localización: Madrid Estado: Sin conexión Puntos: 3 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Tema: Buscar en dos camposEnviado: 17/Octubre/2023 a las 15:30 |
|
¡Hola!
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. ¿Me podéis echar una mano? ¡GRACIAS! 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 |
|
![]() |
|
emiliove
Administrador
Unido: 16/Junio/2009 Localización: Mexico Estado: Sin conexión Puntos: 5704 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 17/Octubre/2023 a las 16:38 |
|
No abrí el enlace, pero se me figuro que hablas de Excel y te moví el mensaje al foro adecuado.
Saludos.
|
|
![]() |
|
Íñigo
Nuevo
Unido: 17/Octubre/2023 Localización: Madrid Estado: Sin conexión Puntos: 3 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 17/Octubre/2023 a las 17:07 |
|
¡Hola!
Lo había colocado en VBA ya que era de la parte del código de la macro en vez de Excel como tal. Donde vaya a tener mejor respuesta, ahí lo podemos dejar. ¡Gracias!
|
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |