¿Cómo puedo obtener el nº de fila en función del contenido de la c

24/06/2009 - 12:28 por José-Luis | Informe spam
Hola a todos
Quería saber si se puede obtener el nº de fila a partir del contenido de la
celda, si este a su vez lo puedo localizar con un IF (u otro método mejor)
que haga la comparación correspondiente para encontrar dicha celda.
Más o menos sería (lógicamente está mal pues no funciona o no logro hacerlo
funcionar)

'Rellena el combo 4
'Antes he llegado a la hoja adecuada por medio del combo 3

Private Sub Combobox3_Change()

ComboBox4.Clear

'Seleccionamos la fila correspondiente

Do While Not IsEmpty(ActiveCell)

If Left(ActiveCell.Value, 4) =
Left(ComboBox3.List(ComboBox3.ListIndex), 4) Then

Fila = ¿? 'Esto es lo que quiero saber y si la estructura está bien
o la tengo que cambiar

Cells(Fila, 2).Select

'vamos a llenar dinámicamente el combobox
'dependiendo de lo elegido
'Hasta que no encuentre una columna vacía
'que llene todo con datos
ComboBox4.AddItem ActiveCell.Value
End If
'saltamos columnna
ActiveCell.Offset(0, 1).Select
Loop

End Sub

Si hay un método mejor (que seguro lo habrá) me gustaría que me lo
comentarais.
Gracias de antemano por vuestra atención.
José-Luis
 

Leer las respuestas

#1 Juan M
24/06/2009 - 12:43 | Informe spam
"José-Luis" escribió
Hola a todos
Quería saber si se puede obtener el nº de fila a partir del contenido de
la
celda, si este a su vez lo puedo localizar con un IF (u otro método mejor)
que haga la comparación correspondiente para encontrar dicha celda.
Más o menos sería (lógicamente está mal pues no funciona o no logro
hacerlo
funcionar)

'Rellena el combo 4
'Antes he llegado a la hoja adecuada por medio del combo 3

Private Sub Combobox3_Change()

ComboBox4.Clear

'Seleccionamos la fila correspondiente

Do While Not IsEmpty(ActiveCell)

If Left(ActiveCell.Value, 4) > Left(ComboBox3.List(ComboBox3.ListIndex), 4) Then

Fila = ¿? 'Esto es lo que quiero saber y si la estructura está bien
o la tengo que cambiar

Cells(Fila, 2).Select

'vamos a llenar dinámicamente el combobox
'dependiendo de lo elegido
'Hasta que no encuentre una columna vacía
'que llene todo con datos
ComboBox4.AddItem ActiveCell.Value
End If
'saltamos columnna
ActiveCell.Offset(0, 1).Select
Loop

End Sub

Si hay un método mejor (que seguro lo habrá) me gustaría que me lo
comentarais.
Gracias de antemano por vuestra atención.
José-Luis



Hola José Luis,

Sin saber que es lo que pretendes hacer, para encontrar un valor en un
listado puedes emplear el método find del objeto range.

Como no tienes definido un rango en el código expuesto he improvisado una
lista en el rango C5:C12
El valor a buscar lo he puesto en A1 y el resultado se muestra en un
mensaje.
Al no conocer el motivo del empleo del left, ni que es lo que buscas y
comparas te dejo un ejemplo un poco genérico.

Comentas más detalles?

Un saludo,
Juan


Sub BuscaDato()

Dim c As Range
Set c = Range("C5:C12").Find(Range("a1"), LookIn:=xlValues, lookat:=xlWhole)
Debug.Print c.Row
Set c = Nothing

End Sub

Preguntas similares