Mostrar datos automaticamente excel vb
Tengo un formulario llamado fórmula medica,,, allí tengo un combobox donde elijo los datos de una hoja de excel para exportarlos ala hoja de fórmula medica, y se hace a través de un formulario,
Pero este al momento de cargar los datos debe mostrar en los texbox edad y cedula, los datos correspondientes a esta persona,,,,.
1 respuesta
[Hola
Indica cual el nombre de tu hoja y de los controles para adecuar la macro.
Este es el formulario a modificar
Y este aquí debajo es parte del cdigo
Lo que busco es que cuando se seleccione el dato en el combobox1, automáticamente aparezcan eda y cedula,, el resto si tiene que ser manual,, solo son esas 2 casillas,,,,, no logor cuadra bien el código,,, creo que todo esta en el offset, pero no se manejar estos parámetros
Creo que tu tienes el archivo todavía,,,, no lo borres, que te puede servir para otros propósitos incluso mejorarlo
[Hola
Reemplaza la macro por esto, al combobox agregado pon de nombre Combobox1
Private Sub ComboBox1_Click() Set h = Sheets("Hoja1") dato = ComboBox1 Set r = h.Columns("C") Set b = r.Find(dato, lookat:=xlWhole) If Not b Is Nothing Then TextBox3.Text = h.Cells(b.Row, "E") TextBox4.Text = h.Cells(b.Row, "B") End If End Sub Private Sub CommandButton1_Click() If TextBox2 = "" Then MsgBox "Selecciona un dato en combobox", vbOKOnly + vbInformation, "AVISO" Exit Sub TextBox2.SetFocus End If Set h = Sheets("formula") h.Visible = True ' Mostrar hoja h.[C8] = Date 'Fecha h.[C9] = ComboBox1 'Nombre h.[C10] = TextBox3 'Edad h.[E9] = TextBox4 'Identificación ' u = h.Range("B" & Rows.Count).End(xlUp).Row + 1 If u < 12 Then u = 12 h.Cells(u, "B") = TextBox5 ' Cantidad h.Cells(u, "C") = TextBox6 ' Preescripción h.Cells(u, "D") = TextBox7 ' Días h.Cells(u, "E") = TextBox8 ' Vía ' h.Visible = True ' ocultar hoja End If Hoja4.PrintOut 'Hoja4.Protect Unload Me End Sub Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) calendar.Show End Sub Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If Not (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0 MsgBox "Ingrese el numero la Edad paciente", vbOKOnly + vbInformation, "AVISO" End If End Sub Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If Not (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0 MsgBox "Ingrese el numero de indentificacion ", vbOKOnly + vbInformation, "AVISO" End If End Sub Private Sub UserForm_Activate() 'Carga nombres al combobox Set h1 = Sheets("Hoja1") For i = 6 To h1.Range("C" & Rows.Count).End(xlUp).Row ComboBox1.AddItem h1.Cells(i, "C") Next i End Sub
valora la respuesta para finalizar
ahora muestra la i
For i = 6 To h1.Range("C" & Rows.Count).End(xlUp).Row
lo mismo no se ha definido variable,,
esta comola defino? dim i ?
Que error te sale
Fíjate si el nombre del combobox coincide con el tuyo
No olvides reemplazar todo el código del formulario porque hice varios cambios
Nada,, la tengo desprotegida
¿Lo qué no entiendo de donde sale el texbox 1? Si en el formulario "formula" solo hay combobox1
texbox3 y 4
Y de resto es manual,, que inicia en texbox5 no se debe tocar,,,
toddas las hojas las tengos desprotegida,
La hoja de fórmula donde se va a registrar los datos
Y la hoja1 de donde se toman los datos
Y no me carga el formulario fórmula,, sigue el mismo error
No logro descargar tu archivo mi línea esta lento.
Pero si tienes el option explicit, quitarlo no es necesario
[Hola
Ya lo revisé y lo solucioné.
Quita el option explicit, como no es un sistema amplio no es necesario.
Si aun vas a usar declara las variables que usé, si no te saldrá un mensaje variable no definido
Pones esto lo que recuerdo. dim h, h1, r, b, dato
-Tienes problema con el control combobox1, lo eliminé y lo volví a crear y listo.
Valora la respuesta para finalizar.
- Compartir respuesta