Formulario único para diferentes tablas en excel

Tengo varias tablas de Excel con datos y quiero saber si con un solo formulario puedo ingresar los datos a esta diferentes tablas.

Por descontado que el formulario lo haría con todos los datos de las diferentes tablas.

2 respuestas

Respuesta
1

Si se puede. Podrías tener todos los campos en un formulario de una sola página, o con un formulario Multipage donde cada página contenga los controles para cada hoja. Incluso podrías llamar a un segundo formulario para rellenar datos en una segunda hoja.

Caso 1: campos en un solo formulario para enviarlos a diferentes hojas. En el evento Initialize se declaran las hojas que intervendrán:

Dim hopr, hoe       'hojas a utilizar
Private Sub UserForm_Initialize()
'se declaran todas las hojas a utilizar
Application.ScreenUpdating = False
Set hopr = Sheets("PRODUCTOS")
Set hoe = Sheets("EXISTENCIAS")
'resto de las instrucciones de inicio
End Sub

Y luego se envían los campos (pueden ser los mismos campos u otros) a cada hoja. Por supuesto que habrá más instrucciones en cada subrutina que te dejo de ejemplo (control de datos, limpieza de campos, etc)

Private Sub CommandButton1_Click()
'botón de pase de datos a las hojas
'Envía los datos a la hoja de productos... ya está desprotegida
    Final = hopr.Range("A" & Rows.Count).End(xlUp).Row + 1
    hopr.Cells(Final, 1) = Val(txt_CodProd)
    hopr.Cells(Final, 2) = UCase(Trim(txt_Nombre))
    If TextBox3.Text <> "" Then hopr.Cells(Final, 3) = CDbl(TextBox3.Text)      'EXISt.INICIO en col C
    hopr.Cells(Final, 5) = ComboBox1.Text    'es unidad
    '-----------------------------------------------
'Envía los datos a la hoja de existencias... ya está desprotegida
    Final = hoe.Range("A" & Rows.Count).End(xlUp).Row + 1
    hoe.Cells(Final, 1) = Val(txt_CodProd)
    hoe.Cells(Final, 2) = UCase(Trim(txt_Nombre))
    hoe.Cells(Final, 4) = ComboBox1.Text    'unidad
    hoe.Cells(Final, 6) = Round(hoe.Cells(Final, 3) * hoe.Cells(Final, 5), 2)
    '-----------------------
End Sub

Caso 2: utilizando un Userform multipágina como en la imagen siguiente:

Caso 3: parte de la información se rellena desde otro subformulario. Por ej, una compra se registra en hoja Existencias y también puede actualizar la base de Proveedores al mismo tiempo si hiciera falta.

Tu caso pareciera ser el N° 1, pero no está demás mostrarte otras opciones posibles.

Respuesta

Claro que puedes desde un formulario enviar los datos a diferentes tablas.

Si necesitas ayuda para construir el código deberás ser más específico.

Buenas tardes Dante,

si que necesito ayuda, lo que pretendo hacer me cuesta, no soy experto.

Que quieres que especifique?

Gracias

Los nombres de las hojas.

¿A qué te refieres con "tabla" es una hoja de excel o es un rango de celdas convertido en tabla?

Los nombres de los textbox.

Cómo vas a identificar cuáles textbox van en la hoja1, hoja2, etc.

Pon imágenes para describir tus ejemplos.

------

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas