Userform que pegue los datos en distintas hojas

Quería saber si, por ejemplo tengo un userform con combobox y textbox estos podrían pegar la información en distintas hojas, por ejemplo

Que combobox1 copia en hoja "x" rango "A3" y en Hoja "Y" rango "A3" (y si es posible que busque la fila libre o inserte una nueva fila3)

Y declarar así los distintos combobox y textbox en distintas hojas.

Respuesta
1

h o l a 

te paso la macro 

Private Sub CommandButton1_Click()
If ComboBox1 = "" Or ComboBox1.ListIndex = -1 Then Exit Sub
Set h1 = Sheets(ComboBox1.ListIndex + 1)
u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
h1.Cells(u, "A") = ComboBox1
h1.Cells(u, "B") = TextBox1
h1.Cells(u, "C") = Val(TextBox2)
h1.Cells(u, "D") = Val(TextBox3)
ComboBox1 = ""
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
h1.Select
MsgBox "Registrados correctamente", vbInformation
End Sub

esto es para cargar las hojas en el combo

Private Sub CommandButton1_Click()
If ComboBox1 = "" Or ComboBox1.ListIndex = -1 Then Exit Sub
Set h1 = Sheets(ComboBox1.ListIndex + 1)
u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
h1.Cells(u, "A") = ComboBox1
h1.Cells(u, "B") = TextBox1
h1.Cells(u, "C") = Val(TextBox2)
h1.Cells(u, "D") = Val(TextBox3)
ComboBox1 = ""
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
h1.Select
MsgBox "Registrados correctamente", vbInformation
End Sub
Private Sub UserForm_Activate()
For Each hoja In Sheets
    ComboBox1.AddItem hoja.Name
Next
End Sub

te anexo el archivo para que descargues.

https://www.dropbox.com/s/xlsc4kpon4f44iv/Guardar%20en%20la%20hoja%20deseada.xlsm?dl=0 

Me avisas si falta algunos ajustes de caso contrario valora la respuesta para finalizar saludos!

¡Gracias!

No es exactamente lo que buscaba, pero podría valerme para otras cosas,

Lo que busco es que directamente un combobox guarde la información en dos o 3 hojas distntas a la vez, no que según el tipo se guarde en uno o en otro. Pero igual me gustó ^^

1 respuesta más de otro experto

Respuesta
1

Te anexo un ejemplo, cambia en la macro "X" y "Y" por los nombres de tus hojas.

Actualiza cuáles combos y cuáles textbox van en la hoja "X" y cuáles en la hoja "Y"

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets("X")
    Set h2 = Sheets("Y")
    '
    'Guarda datos en la hoja "X"
    u1 = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Cells(u1, "A") = ComboBox1
    h1.Cells(u1, "B") = ComboBox2
    h1.Cells(u1, "C") = TextBox1
    h1.Cells(u1, "D") = TextBox2
    '
    'Guarda datos en la hoja "Y"
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
    h1.Cells(u2, "A") = ComboBox1
    h1.Cells(u2, "B") = TextBox1
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Macro actualizada

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets("X")
    Set h2 = Sheets("Y")
    '
    'Guarda datos en la hoja "X"
    u1 = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Cells(u1, "A") = ComboBox1
    h1.Cells(u1, "B") = ComboBox2
    h1.Cells(u1, "C") = TextBox1
    h1.Cells(u1, "D") = TextBox2
    '
    'Guarda datos en la hoja "Y"
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
    h2.Cells(u2, "A") = ComboBox1
    h2.Cells(u2, "B") = TextBox1
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Según tu solicitud el combo se tiene que guardar en 2 hojas.

Eso hace la macro, el combobox1 se guarda en la hoja "X" y en la hoja "Y", en ambas hojas se guarda en la columna A, en la primer fila libre que tiene la columna A.

Si es algo diferente lo que necesitas, entonces podrías explicarlo con ejemplos reales, qué tienes y qué esperas de resultado, de ser posible, utiliza imágenes para que el ejemplo sea más claro.

¡Gracias!

jjeje como ya he dicho ese primer comentario era para Adriel realmente, creo que lo que tu me dices es justo lo que quiero pero me sale error, igual sigo probando y a ver si consigo más o menos hacer lo que quiero.

Un millón de gracias ^^

Si te envía un error, escribe el mensaje de error completo, presiona "depurar" y dime también cuál línea de la macro se pone en amarillo.

Si cambiaste la macro, también pon la macro con tus cambios.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas