propiedad column en una combobox

10/09/2005 - 21:05 por pankemao | Informe spam
Hola muy buenas a todos.

El problema que tengo es el siguiente.
He creado un formulario con un ComboBox, un TextBox y un CommandButton.
El problema me lo da en la línea donde pone: ComboBox1 = Null
Me dice: Error 381. Imposible obtener la propiedad Column. Indice de
matriz
de propiedades no válido.
Si quito esa línea, me funciona perfectamente. Pero ya no me borra los
datos
de la Combo en el formulario, cuando vuelvo a introducir datos.
¿como podría solucionarlo?

El codigo es el siguiente:


Private Sub ComboBox1_Change()
Range("a10").Select
ActiveCell.FormulaR1C1 = ComboBox1.Column(0)
ActiveCell.Offset(0, 1).FormulaR1C1 = ComboBox1.Column(1)
End Sub

Private Sub TextBox1_Change()
Range("c10").Select
ActiveCell = TextBox1
End Sub

Private Sub CommandButton1_Click()
Rem inserta un renglón

Selection.EntireRow.Insert

Rem Borrar los datos del formulario

ComboBox1 = Null
TextBox1 = Null

Rem Envía el cursor al ComboBox1 para volver a capturar los datos

ComboBox1.SetFocus

End Sub

Preguntas similare

Leer las respuestas

#6 pankemao
11/09/2005 - 00:09 | Informe spam
Buenas KL,

A mi también me funciona la primera parte. Siempre y cuando elimene
esta línea:
ComboBox1.Value = Null

Si lo ves conveniente, te puedo enviar la hoja de calculo.

UN SALUDO
Respuesta Responder a este mensaje
#7 KL
11/09/2005 - 00:41 | Informe spam
Hola,

Ya lo tengo. Es que tu macro falla porque al asignar al combobox el valor
Null se dispara el evento Change de ComboBox1 e intenta pasar los valores de
la columna 0 y la 1 (que no existen) a sus celdas correspondientes. Prueba
esto:

Private Sub ComboBox1_Change()
If ComboBox <> Null Then
With Range("a10")
.Value = ComboBox1.Column(0)
.Offset(0, 1) = ComboBox1.Column(1)
End With
End If
End Sub

Saludos,
KL


"pankemao" wrote in message
news:
Buenas KL,

A mi también me funciona la primera parte. Siempre y cuando elimene
esta línea:
ComboBox1.Value = Null

Si lo ves conveniente, te puedo enviar la hoja de calculo.

UN SALUDO
Respuesta Responder a este mensaje
#8 KL
11/09/2005 - 00:53 | Informe spam
perdona, esto no funciona, casi que seria mejor hacer esto:

Private Sub ComboBox1_Change()
On Error Resume Next
With Range("a10")
.Value = ComboBox1.Column(0)
.Offset(0, 1) = ComboBox1.Column(1)
End With
End Sub


Saludos,
KL


"KL" wrote in message
news:
Hola,

Ya lo tengo. Es que tu macro falla porque al asignar al combobox el valor
Null se dispara el evento Change de ComboBox1 e intenta pasar los valores
de la columna 0 y la 1 (que no existen) a sus celdas correspondientes.
Prueba esto:

Private Sub ComboBox1_Change()
If ComboBox <> Null Then
With Range("a10")
.Value = ComboBox1.Column(0)
.Offset(0, 1) = ComboBox1.Column(1)
End With
End If
End Sub

Saludos,
KL


"pankemao" wrote in message
news:
Buenas KL,

A mi también me funciona la primera parte. Siempre y cuando elimene
esta línea:
ComboBox1.Value = Null

Si lo ves conveniente, te puedo enviar la hoja de calculo.

UN SALUDO


Respuesta Responder a este mensaje
#9 Héctor Miguel
11/09/2005 - 02:18 | Informe spam
hola, chicos !

KL escribio en el mensaje ...
... casi que seria mejor hacer esto:
Private Sub ComboBox1_Change()
On Error Resume Next
[...]



o probar con la propiedad '.ListIndex' ;)
[solo habria que 'confirmar' si se inserta una fila nueva cada vez que se pulse 'el boton'] -??-
saludos,
hector.

en el modulo del formulario ==Private Sub ComboBox1_Change()
With ComboBox1
If .ListIndex = -1 Then Exit Sub
Range("a10") = .Column(0)
Range("b10") = .Column(1)
End With
End Sub
Private Sub TextBox1_Change()
Range("c10") = TextBox1
End Sub
Private Sub CommandButton1_Click()
Range("a10").EntireRow.Insert
ComboBox1.ListIndex = -1
TextBox1 = vbNullString
ComboBox1.SetFocus
End Sub
Respuesta Responder a este mensaje
#10 pankemao
11/09/2005 - 19:42 | Informe spam
Buenas KL,

Muy agradecido por tu paciencia y por el tiempo dedicado.
Ahora ya me funciona.

Hasta otra.

UN SALUDO.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida