Vincular combobox sin repetir dato inicial - 2
Hola!
Me pasaste este código:
'Saludos takki, Lo primero que debes hacer es llenar el combobox1 al iniciar el formulario con el siguiente código:
Private Sub UserForm_Initialize()
Range("A1").Select
Do While Not IsEmpty(ActiveCell)
If InStr(cadena, ActiveCell) = 0 Then
cadena = cadena & " " & ActiveCell
End If
ActiveCell.Offset(1, 0).Select
Loop
cadena = Right(cadena, Len(cadena) - 1)
valor = Split(cadena, " ")
For i = 0 To UBound(valor)
ComboBox1.AddItem valor(i)
Next
End Sub
'Una vez que llenaste los datos del combobox1 y dependiendo del valor seleccionado debes llenar el combobox2 con este código:
Private Sub ComboBox1_Change()
ComboBox2.Clear
Range("A1").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Value = ComboBox1.Value Then
fila = ActiveCell.Row
ComboBox2.AddItem Range("D" & fila).Value
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Me funciona correctamente, pero no se podría hacer para que no recorriera las celdas con datos de la columna A al iniciar el userform, ¿y qué al pinchar un dato en el combobox1 tampoco las recorriera? Osea, que haga su función pero que se quedara en la celda en la que esté. No se, igual es necesario que las recorra para leerlas...
Gracias por tu tiempo.
Saludos.
Me pasaste este código:
'Saludos takki, Lo primero que debes hacer es llenar el combobox1 al iniciar el formulario con el siguiente código:
Private Sub UserForm_Initialize()
Range("A1").Select
Do While Not IsEmpty(ActiveCell)
If InStr(cadena, ActiveCell) = 0 Then
cadena = cadena & " " & ActiveCell
End If
ActiveCell.Offset(1, 0).Select
Loop
cadena = Right(cadena, Len(cadena) - 1)
valor = Split(cadena, " ")
For i = 0 To UBound(valor)
ComboBox1.AddItem valor(i)
Next
End Sub
'Una vez que llenaste los datos del combobox1 y dependiendo del valor seleccionado debes llenar el combobox2 con este código:
Private Sub ComboBox1_Change()
ComboBox2.Clear
Range("A1").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Value = ComboBox1.Value Then
fila = ActiveCell.Row
ComboBox2.AddItem Range("D" & fila).Value
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Me funciona correctamente, pero no se podría hacer para que no recorriera las celdas con datos de la columna A al iniciar el userform, ¿y qué al pinchar un dato en el combobox1 tampoco las recorriera? Osea, que haga su función pero que se quedara en la celda en la que esté. No se, igual es necesario que las recorra para leerlas...
Gracias por tu tiempo.
Saludos.
1 respuesta
Respuesta de rnochebuena
1