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

Respuesta
1

[Hola 

Indica cual el nombre de tu hoja y de los controles para adecuar la macro.

Y muestras una imagen de tu hoja y formulario para no confundirme

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

Lo reviso y te aviso

[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

Set h1 = Sheets("Hoja1")
dice q no se ha definido variable,, 
es el error q sale

Declara la variable h1

dim h1

ok , voy a ver

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  ?

Pon esto al principio

dim h1, h, i

ok  listo,

ahora

esto sale en amarillo

ComboBox1.AddItem h1.Cells(i, "C")

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

Si coincide,, es combobox1

EL ERROR sale, dice

Error 70 en tiempo de ejecución

Permiso denegado

Tal vez tienes protegida la hoja

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,,,

Si hay elimina si hay textbox1

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

Si le doy depurar

Me sale esta línea de código en amarillo

Hay algo que no has revisado bien en combobox

Envíame tu archivo para revisarlo

ok

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.

Pues hice lo que me dijiste y me sigue salkiendo el error

Mejor enviame la copia del archivo

Ok

Ok,, gracia, adrel, de todas forma tengo que hacer alguna modificaciones pues al imprimir no se limpia la hoja de fórmula.. y debe limpiarse,,, bueno yo acá tengo una instrucción con cleracontes,, se la voy a agregar, debe ser después de printout, ¿cierto?

Si

Sigo con el desorden en el mismo archivo

Te envíe un correo

Te envié un comentario a tu email

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas