¿Cómo Vincular 2 Combobox en excel?

Quiero que me ayuden a Vincular 2 cmb unos dependiente de otro, en uno estará el estado, y cuando seleccione el estado el otro debe de mostrar los municipios,

El código para ver la lista es el siguiente

Me.cmbEstados.RowSource = "Estados"

pero aquí es donde no me da nada

edo = cmbEstados.text

Me.cmbEstados.RowSource = edo

Tomando en Cuenta que ya tengo las listas nombras cada una con el nombre del estado

Respuesta
1

H o l a:

Para realizar la vinculación tengo que ver cómo tienes los estados y los municipios en tu hoja, puedes poner una imagen.

Deberás tener en una lista la relación de estados y municipios, por ejemplo:

     A                   B

1  Estado          Municipio

2  estado1        Municipio1

3  estado1        Municipio2

4  estado2        Municipio33

5  estado2        Municipio34

6  estado3        Municipio100

Etc.

Ya pude realizar lo que estaba pidiendo, lo que hice fue poner un nuevo condicional, de que cuando seleccionara algún estado del primer combobox me cambiara el segundo combobox, y me funciono a la perfección, ahora tengo una duda más acerca de este estado

Set TransRowRng = ThisWorkbook.Worksheets("CAPTURA").Cells(1, 1).CurrentRegion

Al parecer lo que hacer la fórmula es checa que celda esta bacía, y lo que quiero hacer es poner un numero consecutivo, pero en la columna 12 tengo una fórmula y me pone el nuevo dato asta el final de mi tabla, mi pregunta es, como funciona el comando Cell(x, x).currentRegion

Te explico qué es lo que hace la instrucción:

Set TransRowRng = ThisWorkbook.Worksheets("CAPTURA").Cells(1, 1).CurrentRegion

Establece en la variable: TransRowRng, un rango, del libro actual, de la hoja "Captura".

El rango va desde la celda A1 (cells(1,1)), hasta la última celda de la región actual.

Lo que se entiende por región actual es desde la fila 1 hasta que encuentra la primer fila vacía hacia abajo y desde la columna A hasta que encuentra la primer columna vacía.

Eso es lo que hace esa instrucción.

Si lo que quieres es obtener el último valor de la columna 12, puede ser así:

    u = Cells(Rows.Count, 12).End(xlUp).Row
    Nuevo = Cells(u, 12) + 1

En la variable u estoy poniendo el número de fila que contiene el último consecutivo.

En la variable nuevo estoy poniendo el siguiente consecutivo.

¡Gracias! ,  muchas gracias por la explicación, aunque tome otro rumbo en eso del consecutivo, me quedo de la siguiente manera 

Set TransRowRng = ThisWorkbook.Worksheets("CAPTURA").Cells(1, 32).CurrentRegion
newRow = TransRowRng.Rows.Count + 1
With ThisWorkbook.Worksheets("CAPTURA")

pero tu respuesta me sirvió de mucho 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas