Vba: 別のシートのセルの値を設定する方法
VBA で次のメソッドを使用して、別のシートのセル値を設定できます。
方法 1: 別のシートにセルの値を設定する
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
この特定のマクロは、 Sheet2のセルA2の値をSheet1のセルA2の値と等しくなるように設定します。
方法 2:複数のセル値を別のシートに設定する
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
この特定のマクロは、 Sheet2の範囲A2:A11の各セルの値をSheet1の範囲A2:A11の各セルの値と等しくなるように設定します。
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: 別のシートにセルの値を設定する
さまざまなバスケットボール チームの名前が含まれるSheet1という次のシートがあるとします。
そして、ヘッダー行が 1 つだけ含まれるSheet2があるとします。
次のマクロを作成して、 Sheet2のセルA2の値をSheet1のセルA2の値と等しくなるように設定できます。
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
このマクロを実行すると、 Sheet2のセルA2の値が “Mavs” に設定され、 Sheet1のセルA2の値と一致することがわかります。
例 2: 複数のセル値を別のシートに設定する
Sheet2の範囲A2:A11の各セルの値をSheet1の範囲A2:A11の各セルの値と等しくなるように設定するとします。
これを行うには、次のマクロを作成できます。
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
このマクロを実行すると、 Sheet2の範囲A2:A11の値がSheet1の範囲A2:A11の値と同じに設定されていることがわかります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: 最後に使用された行を見つける方法
VBA: 範囲内の行数をカウントする方法
VBA: 使用されている列の数を数える方法