Hola Gente del Foro:
En un Userform tengo un ComboBox de 2 columnas, al cual le incorporo los
datos con el siguiente código:
Private Sub UserForm_Activate()
Dim cXelda As Range
Dim i As Long
i = 0
ComboBox1.Clear
With ActiveSheet
For Each cXelda In .Range("f4:f" & .[F65536].End(xlUp).Row)
If cXelda.Offset(0, 1) = "NO EN" Then
With ComboBox1
.AddItem Format(cXelda, "#,##00.00")
.List(i, 1) = cXelda.Row
End With
i = i + 1
End If
Next
End With
End Sub
El BoundColumn esta parametrizado como 2, por lo que el valor que toma
ComboBox1 es el número de fila del registro (cXelda.Row). Ahora, cuando yo
selecciono un item del ComboBox1 quiero que se muestren ciertos datos del
registro en unas Label, lo cual pretendo hacer con un código como este:
Private Sub ComboBox1_Change()
Dim X As Integer
X = ComboBox1.Value
Label7 = Format(ActiveSheet.Cells(X, 6).Value, "#,#00.00")
Label5.Caption = Format(ActiveSheet.Cells(X, 5), "dd/mm/yyyy")
Label6 = ActiveSheet.Cells(X, 7).Value
End Sub
Pero, luego de intentar con varias variantes, no logro que funcione de
ninguna manera, ya que siempre me da un error en las lineas donde esta la
función Cells, ya que no reconoce el valor de la variable como un valor
válido para ubicar el número de fila. No entiendo porque, porque el valor
del ComboBox1 es simplemente el número de fila. Probé varias cosas, como
poner directamente en la función Cells ComboBox1, ComboBox1.Value,
Val(ComboBox1), etc, etc, pero nada parece funcionar.
Que estoy haciendo mal??
Desde ya muchas gracias!
Mariano
Leer las respuestas