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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *