La proprietà Cells restituisce un oggetto che rappresenta tutte le celle del
foglio di lavoro attivo. Se il documento attivo non è un foglio di lavoro,
questa proprietà genererà un errore. Proprietà di sola lettura.
|
|
La modalità di utilizzo è Cells(row, column) dove row è l'indice di riga e column è
l'indice di colonna, per restituire una singola cella. Questo esempio imposta il valore
della cella A1 a 24.
Worksheets(1).Cells(1, 1).Value = 24
|
|
Questo esempio imposta la formula della cella A2.
ActiveSheet.Cells(2, 1).Formula = "=Sum(B1:B5)"
|
|
Benché sia possibile utilizzare anche Range("A1") per restituire la cella A1, in alcuni
casi la proprietà Cells risulta più conveniente, grazie al fatto di poter utilizzare delle
variabili per la riga o la colonna. Questo esempio crea le intestazioni di riga e di colonna
di Foglio1. Quando il foglio di lavoro è stato attivato, la proprietà Cells può essere utilizzata
senza dichiarare esplicitamente il foglio. La proprietà restituisce infatti una cella del foglio attivo.
Sub SetUpTable()
Worksheets("Foglio1").Activate
For TheYear = 1 To 5
Cells(1, TheYear + 1).Value = 1990 + TheYear
Next TheYear
For TheQuarter = 1 To 4
Cells(TheQuarter + 1, 1).Value = "Q" & TheQuarter
Next TheQuarter
End Sub
|
|
Per restituire parte di un intervallo, utilizzare espressione.Cells(row, column),
dove espressione restituisce un oggetto Range e row e column sono relative all'angolo
superiore sinistro dell'intervallo. Questo esempio imposta la formula della cella C5.
Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=Rand()"
|
|
E anche possibile utilizzare Range(cell1, cell2), dove cell1 e cell2 sono oggetti
Range restituiti dalla proprietà Cells(row, column) che specificano la cella iniziale e
la cella finale dell'intervallo.
Questo esempio imposta lo stile della linea del bordo delle celle dell'intervallo A1:J10.
With Worksheets(1)
.Range(.Cells(1, 1), _
.Cells(10, 10)).Borders.LineStyle = xlThick
End With
|
|
L'istruzione With consente di eseguire una serie di istruzioni su un oggetto
specificato senza riqualificare il nome dell'oggetto.
Affinché alla proprietà venga applicato loggetto dell'istruzione With,
è necessario che ogni occorrenza della proprietà sia preceduta da un punto.
In questo caso il punto indica che le celle si trovano sul foglio di lavoro 1.
Senza il punto, la proprietà Cells avrebbe restituito le celle del foglio attivo.
|
|
Quando si utilizzano selezioni multiple, la proprietà Areas si rivela particolarmente utile.
Essa consente di dividere una selezione multipla in singoli oggetti Range, i quali vengono
quindi restituiti sotto forma di insieme. È possibile applicare la proprietà Count all'insieme
restituito per verificare la presenza di una selezione multipla, come illustrato nel seguente esempio.
Sub NoMultiArea ()
NumberOfSelectedAreas = Selection.Areas.Count
If NumberOfSelectedAreas > 1 Then
MsgBox "Non puoi eseguire questo comando " & _
"su selezioni multiarea"
End If
End Sub
|
|
Questo esempio imposta a 14 punti le dimensioni del carattere della cella C5 di Foglio1.
Worksheets("Foglio1").Cells(5, 3).Font.Size = 14
|
|
Questo esempio cancella la formula nella cella 1 di Foglio1.
Worksheets("Foglio1").Cells(1).ClearContents
|
|
Questo esempio imposta ad Arial 8 punti il carattere di tutte le celle di Foglio1.
With Worksheets("Foglio1").Cells.Font
.Name = "Arial"
.Size = 8
End With
|
|
Questo esempio esegue un ciclo sulle celle comprese tra A1 e J4. Il valore delle celle contenenti un valore inferiore a 0,001 viene sostituito con zero (0).
For rwIndex = 1 to 4
For colIndex = 1 to 10
With Worksheets("Foglio1").Cells(rwIndex, colIndex)
If .Value < .001 Then .Value = 0
End With
Next colIndex
Next rwIndex
|
|
Questo esempio imposta a corsivo lo stile del carattere delle celle comprese tra A1 e C5.
Worksheets("Foglio1").Activate
Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True
|
|
La proprietà Offset
|
|
Per restituire un intervallo a una distanza specificata da un altro intervallo,
utilizzare Offset(row, column), dove row e column rappresentano gli scarti di riga e
di colonna. Questo esempio seleziona la cella che si trova tre righe più in basso e
una colonna più a destra rispetto alla cella posizionata all'angolo superiore sinistro
della selezione corrente. Dal momento che è possibile selezionare solo le celle che si
trovano sul foglio attivo, sarà necessario prima attivare il foglio di lavoro.
Worksheets("Foglio1").Activate
Selection.Offset(3, 1).Range("A1").Select
|
|
Il metodo Union
|
|
Per restituire intervalli multipli, vale a dire composti da due o più blocchi
contigui di celle, utilizzare Union(range1, range2, ...). Questo esempio crea un
oggetto definito come l'unione degli intervalli A1:B2 e C3:D4 e lo seleziona.
Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("Foglio1").Activate
Set r1 = Range("A1:B2")
Set r2 = Range("C3:D4")
Set myMultiAreaRange = Union(r1, r2)
myMultiAreaRange.Select
|
|
marius44(M.A.)-albatros54(G.A.) © 2016
|