Dos combobox de una hoja libro excel

Hola amigos:

Pido ayuda por el asunto que describo, tengo dos combobox en una hoja excel con este código:

Private Sub ComboBox1_Change()
Dim r, s As Range
Dim x(1000)
I = 0
ComboBox2.Clear
For Each r In Range("A2:A1898")
If r.Value = ComboBox1.Value Then
x(I) = Range("B" & LTrim(Str(r.Row))).Value
I = I + 1
End If
Next r
ComboBox2.AddItem (x(0))
For j = 1 To I - 1
If x(j) <> x(j - 1) Then
If x(j) <> "" Then
ComboBox2.AddItem (x(j))
End If
End If
Next j
End Sub
Private Sub ComboBox2_Change()
Dim r, s As Range
Dim x(1000)
I = 0
For Each r In Range("B2:B1898")
If r.Value = ComboBox2.Value Then
x(I) = Range("C" & LTrim(Str(r.Row))).Value
I = I + 1
End If
Next r
For j = 1 To I - 1
If x(j) <> x(j - 1) Then
If x(j) <> "" Then
End If
End If
Next j
End Sub
Private Sub Worksheet_Activate()
Dim r As Range
x = Range("A2").Value
Hoja35.ComboBox1.AddItem (x)
For Each r In Range("A2:A1898")
If r <> x Then
Hoja35.ComboBox1.AddItem (r.Value)
x = r
End If
Next r
End Sub

Cuando activo el combobox1, me da un mensaje de error en I=0, "error de compilación: se esperaba Function o variable".

No encuentro la solución, agradezco la ayuda.

fbleon

1 respuesta

Respuesta
1

Declara la variable

DIm i as integer

Visita http://programarexcel.com/ descarga ejemplos de macros gratis.

Hola experto, gracias por tu colaboración.

Después de declarar la variable DIm i as integer, me da error en la linea "ComboBox2.Clear"

Tengo el código de la siguiente manera:

Private Sub ComboBox1_Change()
Dim r, s As Range
Dim x(100)
Dim i As Integer
i = 0
For Each r In Range("A2:A1898")
ComboBox2.Clear
If r.Value = ComboBox1.Value Then
x(i) = Range("B" & LTrim(Str(r.Row))).Value
i = i + 1
End If
Next r
ComboBox2.AddItem (x(0))
For j = 1 To i - 1
If x(j) <> x(j - 1) Then
If x(j) <> "" Then
ComboBox2.AddItem (x(j))
End If
End If
Next j
End Sub
Private Sub ComboBox2_Change()
Dim r, s As Range
Dim i As Integer
Dim x(100)
i = 0
For Each r In Range("B2:B1898")
If r.Value = ComboBox2.Value Then
x(i) = Range("C" & LTrim(Str(r.Row))).Value
i = i + 1
End If
Next r
For j = 1 To i - 1
If x(j) <> x(j - 1) Then
If x(j) <> "" Then
End If
End If
Next j
End Sub
Private Sub Worksheet_Activate()
Dim r As Range
x = Range("A2").Value
Hoja35.ComboBox1.AddItem (x)
For Each r In Range("A2:A1898")
If r <> x Then
Hoja35.ComboBox1.AddItem (r.Value)
x = r
End If
Next r
End Sub

¿que estoy haciendo mal para que me de ese error?

Que error te da:

usa ComboBox2= Clear

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas