Académique Documents
Professionnel Documents
Culture Documents
Utilizzando il sito si accetta l’uso di cookies per analisi, risultati personalizzati e pubblicità. Ulteriori informazioni
Informazioni
Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo,
sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno
scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione
e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire
spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per
fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze. Negli esempi riportati in questo
articolo vengono utilizzati i metodi di Visual Basic elencati nella seguente tabella.
Metodo Argomenti
------------------------------------------
Activate nessuno
Cells rowIndex, columnIndex
Application.Goto reference, scroll
Offset rowOffset, columnOffset
Range cell1
cell1, cell2
Resize rowSize, columnSize
Select nessuno
Sheets index (o sheetName)
Workbooks index (o bookName)
End direction
CurrentRegion nessuno
Negli esempi forniti in questo articolo vengono utilizzate le proprietà di Visual Basic elencate nella seguente tabella.
Proprietà Utilizzo
---------------------------------------------------------------------
ActiveSheet per specificare il foglio attivo
Il problema Sì
no
yes
è stato risolto?per
specificare
ActiveWorkbook No la cartella di lavoro attiva
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
Per selezionare la cella D5 nel foglio di lavoro attivo, è possibile utilizzare uno degli esempi seguenti:
ActiveSheet.Cells(5, 4).Select
Oppure
ActiveSheet.Range("D5").Select
2: Selezione di una cella in un altro foglio di lavoro nella stessa cartella di lavoro
Per selezionare la cella E6 in un altro foglio di lavoro nella stessa cartella di lavoro, è possibile utilizzare uno degli
esempi seguenti:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
Oppure
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
In alternativa è possibile attivare il foglio di lavoro, quindi utilizzare il metodo 1 sopra descritto per selezionare la cella:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
Per selezionare la cella F7 in un foglio di lavoro in una diversa cartella di lavoro, è possibile utilizzare uno degli esempi
seguenti:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
Oppure
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
In alternativa è possibile attivare il foglio di lavoro, quindi utilizzare il metodo 1 sopra descritto per selezionare la cella:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
Per selezionare l'intervallo C2:D10 nel foglio di lavoro attivo, è possibile utilizzare uno qualsiasi degli esempi seguenti:
ActiveSheet.Range("C2:D10").Select
ActiveSheet.Range("C2", "D10").Select
Per selezionare l'intervallo D3:E11 in un altro foglio di lavoro nella stessa cartella di lavoro, è possibile utilizzare uno
degli esempi seguenti:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
In alternativa è possibile attivare il foglio di lavoro, quindi utilizzare il metodo 4 sopra descritto per selezionare
l'intervallo:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
Per selezionare l'intervallo E4:F12 in un foglio di lavoro in una diversa cartella di lavoro, è possibile utilizzare uno degli
esempi seguenti:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
Application.Goto _
Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
In alternativa è possibile attivare il foglio di lavoro, quindi utilizzare il metodo 4 sopra descritto per selezionare
l'intervallo:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
Per selezionare l'intervallo denominato "Test" nel foglio di lavoro attivo, è possibile utilizzare uno degli esempi
seguenti:
Range("Test").Select
Application.Goto "Test"
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
Per selezionare l'intervallo denominato "Test" in un altro foglio di lavoro nella stessa cartella di lavoro, è possibile
utilizzare l'esempio seguente:
Application.Goto Sheets("Sheet1").Range("Test")
In alternativa è possibile attivare il foglio di lavoro, quindi utilizzare il metodo 7 sopra descritto per selezionare
l'intervallo denominato:
Sheets("Sheet1").Activate
Range("Test").Select
Per selezionare l'intervallo denominato "Test" in un foglio di lavoro in una diversa cartella di lavoro, è possibile
utilizzare l'esempio seguente:
Application.Goto _
Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
In alternativa è possibile attivare il foglio di lavoro, quindi utilizzare il metodo 7 sopra descritto per selezionare
l'intervallo denominato:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
Per selezionare una cella che si trova cinque righe sotto e quattro colonne a sinistra della cella attiva, è possibile
utilizzare l'esempio seguente:
ActiveCell.Offset(5, -4).Select
Per selezionare una cella che si trova due righe sopra e tre colonne a destra della cella attiva, è possibile utilizzare
l'esempio seguente:
ActiveCell.Offset(-2, 3).Select
Nota Se si tenta di selezionare una cella che si trova "all'esterno del foglio di lavoro", verrà generato un errore. Il primo
esempio sopra indicato restituirà un errore se la cella attiva si trova nelle colonne da A a D, in quanto lo spostamento
di quattro colonne verso sinistra comporterebbe lo spostamento della cella attiva a un indirizzo di cella non valido.
Per selezionare una cella che si trova cinque righe sotto e quattro colonne a destra della cella C7, è possibile utilizzare
uno degli esempi seguenti:
ActiveSheet.Range("C7").Offset(5, 4).Select
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
Per selezionare un intervallo di celle con le stesse dimensioni dell'intervallo denominato "Test", ma spostato di quattro
righe sotto e tre colonne a destra, è possibile utilizzare l'esempio seguente:
ActiveSheet.Range("Test").Offset(4, 3).Select
Se l'intervallo denominato si trova in un altro foglio di lavoro non attivo, attivare innanzitutto il foglio di lavoro, quindi
selezionare l'intervallo utilizzando l'esempio seguente:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
Per selezionare l'intervallo denominato "Database" ed estendere quindi la selezione di cinque righe, è possibile
utilizzare l'esempio seguente:
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
Selection.Columns.Count).Select
Per selezionare un intervallo quattro righe sotto e tre colonne a destra dell'intervallo denominato "Database",
includendo due righe e una colonna in più dell'intervallo denominato, è possibile utilizzare l'esempio seguente:
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
Selection.Columns.Count + 1).Select
Per selezionare l'unione, ovvero l'area combinata, di due intervalli denominati "Test" e "Sample", è possibile utilizzare
l'esempio seguente:
Application.Union(Range("Test"), Range("Sample")).Select
Per il corretto funzionamento di questo esempio, è necessario che entrambi gli intervalli si trovino nello stesso foglio di
lavoro. Il metodo Union, inoltre, non può essere utilizzato su fogli diversi. Ad esempio, la riga seguente funziona
correttamente,
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
Per selezionare l'intersezione di due intervalli denominati "Test" e "Sample", è possibile utilizzare l'esempio seguente:
Application.Intersect(Range("Test"), Range("Sample")).Select
Per il corretto funzionamento di questo esempio, è necessario che entrambi gli intervalli si trovino nello stesso foglio di
lavoro.
Negli esempi da 17 a 21 di questo articolo viene fatto riferimento al seguente set di dati di esempio. In ogni esempio è
specificato l'intervallo di celle nei dati di esempio che verrà selezionato.
Per selezionare l'ultima cella in una colonna contigua, utilizzare l'esempio seguente:
ActiveSheet.Range("a1").End(xlDown).Select
Se si utilizza questo codice con la tabella di esempio, verrà selezionata la cella A4.
18: Selezione della cella vuota nella parte inferiore di una colonna di dati contigui
Per selezionare la cella al di sotto di un intervallo di celle contigue, utilizzare l'esempio seguente:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
Se si utilizza questo codice con la tabella di esempio, verrà selezionata la cella A5.
Per selezionare un intervallo di celle contigue in una colonna, utilizzare uno degli esempi seguenti:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
Oppure
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
Se si utilizza questo codice con la tabella di esempio, verranno selezionate le celle da A1 ad A4.
Per selezionare un intervallo di celle non contigue, utilizzare uno degli esempi seguenti:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
Oppure
Se si utilizza questo codice con la tabella di esempio, verranno selezionate le celle da A1 ad A6.
Per selezionare un intervallo rettangolare di celle intorno a una cella, utilizzare il metodo CurrentRegion. L'intervallo
selezionato dal metodo CurrentRegion è un'area delimitata da una combinazione qualsiasi di celle e colonne vuote. Di
seguito è riportato un esempio di utilizzo del metodo CurrentRegion:
ActiveSheet.Range("a1").CurrentRegion.Select
Con questo codice verranno selezionate le celle da A1 a C4. Di seguito sono riportati altri esempi che consentono di
selezionare lo stesso intervallo di celle:
ActiveSheet.Range("a1", _
ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
Oppure
ActiveSheet.Range("a1:" & _
ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
In alcuni casi può essere necessario selezionare le celle da A1 a C6. In questo esempio il metodo CurrentRegion non
funzionerà, in quanto la riga 5 è vuota. Negli esempi seguenti verranno selezionate tutte le celle:
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
Oppure
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
ActiveSheet.Cells(lastRow, lastCol).Address).Select
Per selezionare più colonne non contigue di lunghezza variabile, utilizzare la tabella di esempio e l'esempio di macro
seguenti:
StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a,b).Select
Se si utilizza questo codice con la tabella di esempio, verranno selezionate le celle A1:A3 e C1:C6.
In genere è possibile omettere la proprietà ActiveSheet, essendo implicita se non viene denominato un foglio
specifico. Ad esempio, anziché
ActiveSheet.Range("D5").Select
è possibile utilizzare:
Range("D5").Select
Anche la proprietà ActiveWorkbook può essere generalmente omessa. A meno che venga denominata una
cartella di lavoro specifica, è implicita la cartella di lavoro attiva.
Quando si utilizza il metodo Application.Goto, per utilizzare due metodi Cells nel metodo Range quando
l'intervallo specificato si trova in un altro foglio di lavoro non attivo, è necessario includere ogni volta l'oggetto
Sheets. Ad esempio:
Application.Goto Sheets("Sheet1").Range( _
Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
Sheets("Sheet1").Cells(4, 5)))
Per qualsiasi elemento tra virgolette, ad esempio l'intervallo denominato "Test", è inoltre possibile utilizzare
una variabile il cui valore sia una stringa di testo. Ad esempio, anziché
ActiveWorkbook.Sheets("Sheet1").Activate
è possibile utilizzare
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
ActiveWorkbook.Sheets(myVar).Activate
Riferimenti
Per ulteriori informazioni sull'utilizzo del codice di esempio riportato in questo articolo, fare clic sul numero
dell'articolo della Microsoft Knowledge Base riportato di seguito:
290140 Esecuzione del codice di esempio per i programmi di Office XP contenuto negli articoli della Knowledge
Base
Supporto
Trova download
Supporto account
Sicurezza
Contattaci
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]
Selezione di celle e intervalli utilizzando procedure di Visual Basic in Excel
Italiano (Italia)
https://support.microsoft.com/it-it/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel[29/01/2018 14:42:28]