Mejor vista(s)

Saludos Elsa
Mira mi pregunta es:
Tengo una hoja de mi lista de productos, donde tengo códigos medidas descripción precios tipos de repuestos, etc.
Van hasta la columna v, osea es amplio yo quisiera inmovilizar paneles hasta la mitad de mi hoja a20 y en la parte superior traer la información que solo necesito; en la columna a están mis códigos principales por decir estoy con el cursor en la a25, arriba traer la información de ese código de la a25, algo como hace la barra de fórmulas se pasa por la celda y su información se muestra en esa barra (barra de fórmulas).
Espero haberme explicado bien o si hay una mejor manera de hacer esto. Saludos nando

1 respuesta

Respuesta
1
A ver si interpreto bien: tendrás por ejemplo la fila 1 para mostrar datos que se encuentran en col más allá de las que puedas ver, por ej en A1 lo de la col L, en B1 lo de la col M y así, del registro seleccionado.
Se me ocurre que tengas una rutina que te muestre en una celda auxiliar el valor seleccionado de la col A
Luego en esa fila 1 funciones BuscarV(celda auxiliar, rango de datos, nro col, falso)
Ej: si en AA1 colocas el valor seleccionado, será:
=BuscarV(AA1;A20:V2000;12;falso) 'devuelve la col L
La rutina a colocar en el Editor, en la hoja donde estás trabajando es:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
Range("AA1").Value = Target.Value
End If
End Sub
Podrías colocar también las funciones BuscarV en la macro, pero te será más fácil de manejar y modificar trabajando en la hoja.
Saludos y comentame si de esto se trata tu idea.
Excelente, eso es exactamente lo que necesitaba, pero quería mejorarlo no estoy pudiendo.
En la parte de arriba hice mi formulario traendo los datos con buscarv de la celda auxiliar y me funciona solo si estoy en la columna 1 o la columna a.
Se podría hacer esto mismo si me paso a la columna b o c o de, etc.
Ayudita. nando
En la rutina, en lugar de comparar si estás en la col 1, debes comparar con esta instrucción:
If Not Intersect(Target, Range("A2:D500")) Is Nothing Then
Colocá el rango que necesites, es decir aquel que si te posicionas en él, quieras que te devuelva las celdas
Pero como necesitas que en AA1 se guarde lo de la col 1, también tenés que agregar otras, resumiendo la nueva rutina es esta:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A2:D500")) Is Nothing Then
Dim miCol As Integer
miCol = 1 - Target.Column
Range("AA1").Value = Target.Offset(0, miCol).Value
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas