Come posizionare una colonna sullo schermo

Riccardo ha riscontrato un problema durante lo sviluppo di una macro che imposta lo schermo per l’input dell’utente. Le colonne A:G devono sempre rimanere sullo schermo, quindi la sua macro blocca quelle colonne. Quindi emette un comando per passare alla colonna Z per iniziare l’input. Questo piazza le colonne T:Z a destra delle colonne congelate A:G. Quello che Riccardo vuole veramente è che le colonne Z:AF appaiano a destra di A:G, ma non sa come farlo.

Esistono diversi modi per ottenere i risultati desiderati. Il primo è semplicemente spostarsi “oltre” l’obiettivo desiderato, quindi spostarsi di nuovo su di esso, come nella macro seguente:

Sub GotoCol1()
	With Application
		ActiveWindow.FreezePanes = False
		Range("H1").Select
		ActiveWindow.FreezePanes = True
		.Goto Range("IV1")
		.Goto Range("Z1")
	End With
End Sub

 

Le righe di codice importanti sono quelle che utilizzano il metodo Goto. Il primo salto è all’ultima cella della prima riga e il secondo salto torna al vero obiettivo, Z1. Muovendosi in questo modo, la colonna Z finisce appena a destra dell’intervallo congelato, A:G.

Anche se funziona perfettamente, una soluzione migliore sarebbe quella di utilizzare il parametro Scroll con il metodo Goto. Considera il seguente esempio:

Sub GotoCol2()
	With Application
		ActiveWindow.FreezePanes = False
		Range("H1").Select
		ActiveWindow.FreezePanes = True
		.Goto Reference:=Range("Z1"), Scroll:=True
	End With
End Sub

 

Il parametro Scroll è opzionale con il metodo Goto: il valore predefinito è False. Se lo imposti su True, Goto scorre la finestra in modo che l’angolo superiore sinistro dell’intervallo di destinazione (Z1) venga visualizzato nell’angolo superiore sinistro della finestra.

Tags: , , , , ,

Ti è stato utile?