Insertar datos en un form

Hola expertos: Me hice una adicta a este sitio y he aprendido muchísimo, por eso se los agradezco, son unos genios.
Mi duda  es la sig: necesito usar un form en vez de un Msgbox porque le agregaré más información. Mi planilla en excel busca un dato en una matriz y al coincidir con otra celda, me da un Msgbox, pero quisiera que me de todos los datos de la fila (cada uno en un textbox). La macro ya tiene la aplicación. OnTime, pero no estoy muy hábil con los userform.
Espero que se haya entendido y espero su respuesta. Desde ya muchas gracias.

1 Respuesta

Respuesta
1
Como no comprendo cómo realizás la búsqueda ('... Mi planilla en excel busca un dato...' ) entonces supondré que tenés un control Textbox1 donde ingresas el dato a buscar.
Necesitas una rutina como esta, que colocarás en un botón o en el evento AfterUpdate de tu control de búsqueda:
dato = textbox1
set busca = Sheets("tu_hoja").Range("tu rango de búsqueda").Find(dato)
if not isempty (busca)  'significa que lo encontró
'pasa el resto de campos del registro encontrado en otros controles
textbox2 = busca.offset(0,1)  'col siguiente
textbox3 = busca.offset(0,2)'  otra col
end if
set busca = nothing
End Sub
Te recomiendo que revises el ejemplo que dejé en mi sitio de descargas, llamado Interactuando con userforms:
http://es.geocities.com/lacibelesdepunilla/descargas
Hola Elsa: Ante todo quiero decirte que ya estuve en tu sitio y no solo he bajado los ejemplos de "interactuando..." sino que también he visto tus fotos y hasta tu recetas, pero bueno, volviendo al tema yo tengo una base de datos de la cual cuando coincide un horario con el actual, me da un aviso con un Msgbox, pero como ya sabemos éste es limitado y necesito que me vuelque todos los datos de la fila que consta de 5 columnas por eso no necesito que el textbox busque nada, pero la fila en cuestión no es siempre la misma. Desde ya agradezco mucho atención.
En esa rutina que ya tenés y te está mostrando un Msgbox, deberás reemplazar esa línea por :
Userform1.show  ' o el nro de forms que tengas.
Ahora en el formulario, programá el evento Initialize del userform, para que te muestre en algunos controles (pueden ser label o textbox, depende de lo que luego hagas con esa información), la información de esa fila.
En este ejemplo estoy considerando que la rutina se ejecuta con la celda activa:
Private Sub Userform_Initialize()
textbox1 = activecell   'celda activa
textbox2 = activecell.offset(0,1)  'celda de la col siguiente
'asi con todos
End Sub
Si esto no te alcanza para armar tu rutina deberás escribirme lo que ya tengas hecho, para ajustarla.
Hola Elsa: Te agradezco muchísimo, excelente lo tuyo. Ya podré seguir con mi "programita". Pero seguro volveré a consultarte en cuanto se me presente otra piedrita en el camino. Te deseo lo mejor, genia!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas