Vba: come impostare il valore di una cella in un altro foglio
È possibile utilizzare i seguenti metodi in VBA per impostare il valore della cella in un altro foglio:
Metodo 1: imposta il valore di una cella in un altro foglio
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Questa particolare macro imposterà il valore della cella A2 in Sheet2 in modo che sia uguale al valore della cella A2 in Sheet1 .
Metodo 2: imposta più valori di cella in un altro foglio
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Questa particolare macro imposterà il valore di ciascuna cella nell’intervallo A2:A11 in Sheet2 in modo che sia uguale al valore di ciascuna cella nell’intervallo A2:A11 in Sheet1 .
Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.
Esempio 1: imposta il valore di una cella in un altro foglio
Supponiamo di avere il seguente foglio chiamato Foglio1 che contiene i nomi di diverse squadre di basket:
E supponiamo di avere Foglio2 che contiene solo una riga di intestazione:
Possiamo creare la seguente macro per impostare il valore della cella A2 di Foglio2 in modo che sia uguale al valore della cella A2 di Foglio1 :
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range(" A2 ").Value = wks1.Range(" A2 ").Value
End Sub
Quando eseguiamo questa macro, possiamo vedere che il valore della cella A2 di Foglio2 è ora impostato su “Mavs”, che corrisponde al valore della cella A2 di Foglio1 :
Esempio 2: imposta più valori di cella in un altro foglio
Supponiamo di voler impostare il valore di ogni cella nell’intervallo A2:A11 di Sheet2 in modo che sia uguale a ogni cella nell’intervallo A2:A11 di Sheet1 .
Per fare ciò possiamo creare la seguente macro:
Sub SetCellAnotherSheet()
Sun wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets(" Sheet1 ")
Set wks2 = Sheets(" Sheet2 ")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range(" A2:A11 ").Value = wks1.Range(" A2:A11 ").Value
End Sub
Quando eseguiamo questa macro, possiamo vedere che i valori nell’intervallo A2:A11 di Foglio2 sono ora impostati per essere uguali ai valori nell’intervallo A2:A11 di Foglio1 :
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come trovare l’ultima riga utilizzata
VBA: come contare il numero di righe nell’intervallo
VBA: come contare il numero di colonne utilizzate