Datos en una celda y que me busque y guarde

Hola buenos días a todos Espero que me puedan ayudar con este problema, por ejemplo tengo en la hoja 1 en la celda c5 la opción código, c6 "nombre", c7 "dirección", c8 "correo electrónico" etc. Tengo un filtro en la opción "nombre" el cual me busca los nombres de más de 400 personas que se encuentra en la hoja 2 (toda la base de datos esta en la hoja 2), bueno mi problema es que cuando busco el nombre de "X" persona, hay opciones que no están completas por ejemplo dirección o correo electrónico etc. Y para llenar estas celdas vacías tengo que ir a la hoja 2 y buscar el nombre y teclear los datos faltantes, mi pregunta es como puedo hacer para llenarlos desde la hoja 1 ya que el filtro me da la opción de buscar el nombre y con la fórmula de "buscarV" me da la opción de buscar los datos, pero como puedo llenar esos registros, ya he probado barias fórmulas pero sin ningún buen resultado, les agradezco de antemano el que me puedan ayudar gracias de nuevo.

1 respuesta

Respuesta
1
Basado en tu ejemplo te dejo esta macro que a mi entender hace lo que necesitas:
Para la macro he considerado que la matriz de la Hoja 2 tiene el nombre en la columna A, y los datos de C6 y C7 están en B y C respectivamente. Tu debes modificar la macro para que se adapte a tus datos.
Adicional la hice para que se corra luego de que realices algún cambio en C6, ya que es lo que entendí que necesitabas.
Por ultimo el código lo debes copiar en el vba de la Hoja1 ya que ahí es docne controla el cambio de valor de la celda.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$6" Then
If Range("C7").Value = 0 Then
direccion = InputBox("Indicar Dirección Domiciliaria")
Nombre = Range("C6").Value
Sheets("Hoja2").Select
Sheets("Hoja2").Range("A:A").Select
Selection.Find(What:=Nombre, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Application.CutCopyMode = False
fila = ActiveCell.Row
Sheets("Hoja2").Range("B" & fila).Value = direccion
End If
Sheets("Hoja1").Select
If Range("C8").Value = 0 Then
correo = InputBox("Indicar Dirección de Correo")
Nombre = Range("C6").Value
Sheets("Hoja2").Select
Sheets("Hoja2").Range("A:A").Select
Selection.Find(What:=Nombre, After:=ActiveCell, LookIn:=xlFormulas, _
Application.CutCopyMode = False
fila = ActiveCell.Row
Sheets("Hoja2").Range("B" & fila).Value = correo
End If
End If
Sheets("Hoja1").Select
End Sub
Si tienes alguna duda me avisas
Gracias por atender mi problema, estoy trabajando en eso pero tengo unos problema que no he podido descifrar el primero voy a evaluar C7 que es donde esta el titulo de "Dirección"correcto y la opción C6 es donde aparece el nombre de todas las personas ok espero estar en lo correcto
If Range("C7").Value = 0 Then
direccion = InputBox("Indicar Dirección Domiciliaria")
Nombre = Range("C6").Value
La otra pregunta es con respecto del rango ("A:A") esto lo que me hace al final es que en la hoja 2 me selecciona toda la columna "A" y este punto no lo entiendo
Sheets("Hoja2").Select
Sheets("Hoja2").Range("A:A").Select
Pero estoy tratando de hacer los cambios necesarios para que esto funcione, gracias de nuevo y espero tu pronta respuesta de mi parte mil gracias, lo haremos funcionar ok.
Para el primer punto, tu me indicabas que utilizabas buscarv() para llenar el campo C7, por lo que si el campo esta vaacio la fórmula te bota 0, por tanto la condición inicia si el campo es 0, ya que esto significa que el campo está vació y hay que llenarlo, caso contrario simplemente sigue y no hace nada para ese campo.
Sobre la segunda parte el código hace un buscador similar a cuando presionas ctrl+B, por tanto para que funcione el buscador debe primero estar seleccionada la columna en la cual están los datos a buscar. Para mi ejemplo los Nombres están ubicados en la columna A.
Si la pregunta es, Porque Sheets("Hoja2"). Range("A:A"). Select en lugar de Range("A:A"). Select, se debe a que estoy en el modulo de la Hoja y no en un modulo insertado, por lo que me obliga a utilizar este método en lugar del otro.
Muy amable por responder mis incógnitas y ahora si me quedo claro gracias de nuevo creo que hoy si lo haré funcionar como debe de ser, tu ayuda fue de mucha utilidad te lo agradezco mycho, gracias mil gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas