Jump to content

Archived

This topic is now archived and is closed to further replies.

jmanupo3008

Combobox combinado con datos de otro libro, formulario vba.

Recommended Posts

Hola buenas noches.

Mi consulta es la siguiente:

Tengo un formulario en Vba, con dos Combobox, deseo lo siguiente:

1. Que el primer combobox cargue por ejemplo los elementos:

- Frutas

- Verduras

- Carnes

2. Que dependiendo lo que seleccione en el primer combobox me aparezcan ciertas opciones en el combobox2, así:

Si en el combobox1 selecciono Frutas, aparezcan en el combobox2: Manzana, Pera, Banano, Piña.

Si en el combobox1 selecciono Verduras, aparezcan en el combobox2: Zanahoria, Remolacha, Cebolla.

Si en el combobox1 selecciono Carnes, aparezcan en el combobox2: Pescado, Res, Pollo.

Ahora bien, la lista: Frutas, Verduras y Carnes

y sus sublistas: (Manzana, Pera, Banano), (Zanahoria, Remolacha, Cebolla), (Piña. Pescado, Res, Pollo). están en otro libro en otra ubicación.

3. Que luego con un botón de comando, dando click, lo que seleccioné se copie en una hoja dentro del mismo libro; un dato en cada columna (como creando una base de datos).

Tipo Detalle

1 Tipo Detalle

2 Fruta Manzana

3 Fruta Pera

4 Verdura Remolacha

Tengo el siguiente código:

****************************************************************************************

Private Sub UserForm_Activate()

Dim col As New Collection

Set hoja = Worksheets("Hoja1")

ufila = hoja.Cells(hoja.Rows.Count, 1).End(xlUp).Row

On Error Resume Next

For i = 1 To ufila

col.Add Item:=hoja.Cells(i, 1).Value, Key:=CStr(hoja.Cells(i, 1).Value)

Next i

For i = 1 To col.Count

Me.ComboBox1.AddItem col(i)

Next i

Me.ComboBox2.Clear

End Sub

Private Sub ComboBox1_Change()

Me.ComboBox2.Clear

grupo = ComboBox1.Value

Set hoja = Worksheets("Hoja1")

ufila = hoja.Cells(hoja.Rows.Count, 1).End(xlUp).Row

For i = 1 To ufila

dimension = Cells(i, 2)

If Cells(i, 1) = grupo Then

With Me.ComboBox2

.AddItem dimension

End With

End If

Next

End Sub

**********************************************************************************************

Espero me puedan ayudar,

Muchas gracias.

Link to post
Share on other sites

Hola..

Te envío 2 archivos:

- El archivo “Listado.xls”, es el listado de donde quiero sacar las opciones de los combobox y se ubicará en C:/

- El archivo “Tipificación.xlsm” contiene el formulario en donde quiero seleccionar las opciones. Este se ubicará en Escritorio.

- Quiero que sin tener que abrir el archivo “Listado.xls”, se puedan seleccionar las opciones.

- Que las opciones de lista queden en otra ubicación diferente a donde se encuentra el formulario.

- Que con un botón de comando se puedan almacenar los datos en una hoja del libro en donde está el formulario..

Muchas gracias por tu colaboración.

Saludos.

Formulario.rar

Link to post
Share on other sites



  • Posts

    • Hola compañeros del foro,   Tengo el siguiente problema de novato con el presente array que he creado: Este es el código: Option Explicit Option Base 1 Sub adminTemp() Dim admin As String admin = Array("...", "...", "...", "...", "Administrador", "Conectado", "...", "...") Dim fila As Long fila = Sheets("CONEXIONES").Range("A1048576").End(xlUp).Row Dim columna As Byte For columna = 1 To UBound(admin) If Sheets("CONEXIONES").Cells(fila, columna).Value = admin(columna) Then Sheets("CONEXIONES").Rows(fila).Delete Shift:=xlUp Next columna End Sub En otras palabras, me dice que el problema está en la declaración de la variable "admin", pues la declaro como una cadena de caracteres, en cambio cuando la misma variable la declaro como un variant, entonces la macro si funciona correctamente. Pero no quiero declarar el array como un tipo variant cuando sólo contiene valores de tipo string, y ocupar espacio innecesario de memoria.   Sería de ayuda que cualquier orientación sobre este problema...
    • Estoy de acuerdo con @Sergio, es díficil encontrar documentación oficial sobre el código XML de la ribbon.
    • Muchísimas gracias por la corrección, @JSDJSD. Y muchas gracias también por compartir ese vídeo. Efectivamente, me percaté de ese error cuando me pasó el código @Antoni.   Te felicito por tu corrección. Con gente como vosotros, da gusto compartir conocimientos a través de este foro. Mil gracias de nuevo.   Saludos.
    • Ya lo hice pero con gusto lo hago nuevamente, y soy afortunado  Gracias   
    • Buenas noches Ya cheque la modificación y es exactamente lo que no sabía como hacer, mis respetos y mi agradecimiento,  Un saludo desde Irapuato, Gto. México   Gracias 
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy