Jump to content
lphant

Buscar valor en fila para obtener la columna

Recommended Posts

Buenas tardes;

 

Hoy estoy muy espeso y ………. no doy con la forma de buscar un valor en una fila para obtener la columna en la que se encuentra.

 

Hace tiempo, para obtener la fila en la que se encontraba un valor sabiendo la columna, ponía la siguiente línea.

 

Worksheets("Hoja1").Columns("A").Find("Gato", searchorder:=xlByRows, SearchDirection:=xlPrevious).Row

 

Ahora estoy intentando modificarla para obtener la columna en la que se encuentra un valor sabiendo la fila y por más pruebas que hago no doy con ello.

 

Me podéis ayudar??.

 

Pd: el número de columna o la letra de la columna ( sería mejor ) lo llevo a una variable para poder usarlo.

 

Muchísimas gracias.

Libro4.xlsm

Share this post


Link to post
Share on other sites
Hace 1 hora, bdurango dijo:

Hola buen día.

Algo así: Columna = Worksheets("Hoja1").Rows(1).Find("Gato").Column

Saludos.

 

Boris

 

Muchas gracias @bdurango, voy a probarlo ahora mismo.

Un saludo,

Share this post


Link to post
Share on other sites

Jajaja @lphant, creo que el desayuno me hizo mal... jajaja

Olvida lo que dije y empecemos de nuevo!!! - ME DISCULPO.

La reacción de @avalencia me hizo reaccionar...😜

Hice desde la mañana 3 diferentes formas... te comparto la más corta....

Sub Buscar_Column_LBV()
Dim cCelda, cCol$, aDirec
    cCelda = Worksheets("Hoja1").Cells.Find("Gato", searchorder:=xlByRows, SearchDirection:=xlPrevious).Address(RowAbsolute:=True, ColumnAbsolute:=False, ReferenceStyle:=xlA1)
    aDirec = Split(cCelda, "$")
    cCol = aDirec(0)
    MsgBox "Columna:   " & cCol
End Sub

Saludos y Comentas.

 

Share this post


Link to post
Share on other sites
Hace 3 horas, lphant dijo:

Pd: el número de columna o la letra de la columna ( sería mejor ) lo llevo a una variable para poder usarlo.

Es indistinto que sea el numero o la letra, ambas puedes usarlas 

Mira asi:

Set cel = Hoja1.Cells.Find("Gato", , , xlWhole)
If Not cel Is Nothing Then vmc = VBA.Split(cel.Address, "$")(1)
Set cell = Nothing

 

Saludos 

Share this post


Link to post
Share on other sites
En 9/5/2019 at 20:09 , Leopoldo Blancas dijo:

Jajaja @lphant, creo que el desayuno me hizo mal... jajaja

Olvida lo que dije y empecemos de nuevo!!! - ME DISCULPO.

La reacción de @avalencia me hizo reaccionar...😜

Hice desde la mañana 3 diferentes formas... te comparto la más corta....


Sub Buscar_Column_LBV()
Dim cCelda, cCol$, aDirec
    cCelda = Worksheets("Hoja1").Cells.Find("Gato", searchorder:=xlByRows, SearchDirection:=xlPrevious).Address(RowAbsolute:=True, ColumnAbsolute:=False, ReferenceStyle:=xlA1)
    aDirec = Split(cCelda, "$")
    cCol = aDirec(0)
    MsgBox "Columna:   " & cCol
End Sub

Saludos y Comentas.

 

Probado, funciona perfectamente.

Muchas gracias.

Share this post


Link to post
Share on other sites
En 9/5/2019 at 21:19 , Gerson Pineda dijo:

Es indistinto que sea el numero o la letra, ambas puedes usarlas 

Mira asi:


Set cel = Hoja1.Cells.Find("Gato", , , xlWhole)
If Not cel Is Nothing Then vmc = VBA.Split(cel.Address, "$")(1)
Set cell = Nothing

 

Saludos 

Muchas gracias @Gerson Pineda, funciona perfectamente.

Un saludo,

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 5112 personas - Aprender Excel - Total: 4.7 / 5