Vediamo se si puo’ fare qualcosa....
1) Innanzitutto crea un “nome” associandolo all’area che poi vorrai visualizzare:
a) seleziona l’area (es H345:J350)
b) nella “casella nome” (quella che in genere e’ visualizzata sopra la cella A1 e in genere visualizza l’indirizzo della cella selezionata) scrivi il nome che vuoi assegnare e premi Enter; io ho usato “CIPPO”
Il risulato sarà migliore se queste celle hanno uno sfondo, anche “bianco” purchè non “nullo”
2) Sul foglio di lavoro dove vuoi visualizzare quell’area:
a) Inserisci una “Immagine” qualsiasi (una Immagine, non ad esempio una forma)
b) a questa immagine assegna un nome; io ho usato “myWindow”; per questo:
--con l’immagine selezionata
--scrivi nella “casella nome” il nome assegnato e premi Enter
c) sempre con l’immagine selezionata vai nella “barra della formula” e scrivi la formula
=CIPPOA questo punto la tua ex immagine dovrebbe diventare la finestra sull’area prescelta.
3) Dobbiamo ora riposizionare l’immagine man mano che la selezione sul foglio cambia; per questo useremo useremo la macro di Worksheet_SelectionChange. Partendo da Excel:
a) tasto dx sul tab col nome del foglio su cui e’ presente l’immagine; scegli Visualizza codice
b) copia e incolla questo codice nel modulo vba così aperto:
- Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘
With Me.Shapes("myWindow")
.Top = (ActiveWindow.UsableHeight - .Height) / 2 + ActiveWindow.VisibleRange.Cells(1, 1).Top
.Left = (ActiveWindow.UsableWidth - .Width) / 2 + ActiveWindow.VisibleRange.Cells(1, 1).Left
End With
End Sub
A questo punto, se torni sul foglio di lavoro e selezioni una cella “la finestra” dovrebbe venir posizionata al centro del foglio di lavoro.
Per posizionarla in altra posizione dovrai rivedere il codice della Worksheet_SelectionChange
Prova...