VISUALIZAR SIEMPRE EL CONTENIDO DE UNA CELDA

20/01/2010 - 17:26 por DIEGO.FE | Informe spam
DESEO SABER SI EXISTE LA POSIBILIDAD DE VISUALIZAR UNA O VARIAS CELDAS DE
RESULTADOS MIENTRAS SE TRABAJA EN OTRO SITIO DE LA HOJA.
EJEMPLO, TENGO UNA HOJA CON 2.000 LINEAS Y EL RESULTADO SE ENCUENTRA EN LA
CELDA A2000, PERO YO ME ENCUENTRO TRABAJANDO EN LA CELDA A15 Y DESEO
VISUALIZAR SIEMPRE EL RESULTADO DE A2000

GRACIAS POR SU AYUDA
 

Leer las respuestas

#1 Héctor Miguel
21/01/2010 - 02:12 | Informe spam
hola, diego !

op1: asumiendo que tienes libre la fila 1... congela los paneles a partir de la fila 2 ([B2] ?)
seleccionas "la celda" [A2000 ?] / haces una copia / en [A1] haces un "pegar vinculos de imagen"

op2: si quieres mantener "flotante" toda la hoja, prueba con el siguiente procedimiento:

1) selecciona "la celda" (p.e. A2000) y haces un copy (ctrl+C)
2) pulsa la tecla {shift} y usa (menu) edicion / pegar vinculos de imagen (OJO, NO aparece si no pulsas antes {shift})
-> queda una imagen (tipo Shape de nombre probablemente "Imagen 1")
3) aplica formatos para su "identificacion" diferente de la celda original (p.e. color de fondo, etc. etc. etc.)
4) copia/pega las siguientes lineas en el modulo de codigo de "esa" hoja
(p.e. clic-secundario sobre la etiqueta con su nombre y seleccionas: -> ver codigo)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Dentro_de As String, Debe_estar_en As String
Dentro_de = ActiveWindow.VisibleRange.Address
With Range(Dentro_de)
Debe_estar_en = .Offset(1, .Columns.Count - 2).Resize(1, 1).Address
End With
With Me.Shapes("imagen 1")
If .TopLeftCell.Address = Debe_estar_en Then Exit Sub
.Left = Range(Debe_estar_en).Left: _
.Top = Range(Debe_estar_en).Top
End With
End Sub

con lo anterior, la imagen te ira siguiendo mostrandose en la penultima columna, segunda fila del rango visible (ventana)

notas:
1) implica cambiar la seleccion de la celda activa (con el mouse o teclado)
2) si el desplazamiento ocurre por barras / rueda del mouse, funcionara HASTA que suceda lo anterior :((
(si lo prefieres, llamando a las API's o usando el Scripting podrias detectar el evento Scroll por barras / mouse)
3) si la hoja tiene paneles fijos, entonces Debe_estar_en (...) Cells(1, 1).Address APLICARA al panel flotante

(creo que) de momento, lo anterior te debera funcionar bien (con las salvedades mencionadas)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
... VISUALIZAR UNA O VARIAS CELDAS DE RESULTADOS MIENTRAS SE TRABAJA EN OTRO SITIO DE LA HOJA.
EJEMPLO, TENGO UNA HOJA CON 2.000 LINEAS Y EL RESULTADO SE ENCUENTRA EN LA CELDA A2000
PERO YO ME ENCUENTRO TRABAJANDO EN LA CELDA A15 Y DESEO VISUALIZAR SIEMPRE EL RESULTADO DE A2000

Preguntas similares