Buscar en columna y modificar...

Perseo: dada la rapidez asombrosa de tu respuesta (y eficacia, por supuesto), me animo a hacerte ésta:
Tengo en Hoja1 una base de datos (Col A, nombres; Col B, domicilio; col C, teléfono;..., partiendo de fila10); la idea es, con un UserForm, en un Combo (o List), buscar el nombre, y con TextBox, poder MODIFICAR o COMPLETAR cambios de domicilio, nuevos teléfonos (en el caso de que no lo hubiera puesto en el alta), etc.
Gracias.
p.d. Ya puse en funcionamiento tu código, y es perfecto

1 Respuesta

Respuesta
1
Me alegro de que te funcione.
En cuanto a esta pregunta, te voy a dar un código para un ejemplo concreto que en todo caso tendrás que adaptar y en función de como tengas los datos tendrás que hacer algún cambio.
En mi ejemplo, tengo una lista de nombres en la columna A, con un encabezamiento en la celda A1 titulado Nombre, en paralelo, las direcciones en la columna B con su encabezamiento "Dirección" en B1 y los teléfonos en C con encabezamiento "Telefono" en C1.
El formulario tiene 1 combobox llamado nombre, dos textbox, llamados dirección y teléfono respectivamente y un botón de acción con su nombre por defecto CommadButton1.
Una vez diseñados los elementos del formulario, seleccionas el combobox (lo tendrás que hacer igualmente para ponerle el nombre), y te vas a la propiedad RowSource y ahí es donde tienes que indicarle el rango que quieres que aparezca en la lista del combobox. Yo le he marcado A:A, de manera que me toma todos los datos que hay en la columna A, así, si en el futuro incluyes más nombres, te los mostrará igual, pero si prefieres marcarle un rango concreto, lo puedes hacer A2:A500, por ejemplo, para que no te tome el titulo.
En el evento click del botón copias el código:
Private Sub CommandButton1_Click()
Dim fila As Integer
fila = nombre.ListIndex + 1
Range("A" & fila).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = domicilio.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = telefono.Value
End
End Sub
Tienes que cambiar la letra de la columna A en Range("A"... si tienes los datos en otra columna.
A ver si funciona
Perseo: me marca error "Se requiere un objeto" en:
fila = nombre.ListIndex
Un abrazo
Hay un error en las instrucciones, ya que yo te decía que nombrases los textbox como dirección y teléfono, cuando en el código los he nombrado como domicilio y teléfono. En cualquier caso, ese error que a ti te sale probablemente se deba a que está mal puesto algún nombre.
El combobox debe llamarse nombre
1 Textbox domicilio
El otro Textbox teléfono
Todo tal como está escrito aquí, sin acentos y en minúscula.
De todas formas, si revisas el código, verás los nombres de los controles.
A ver si se arregla.
MIL (1000) disculpas...
Brillante (¡Y qué fácil!)
¿Estás muy ocupado? Tengo otra que se me planteó ahora (ya te la hago)
Un abrazo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas