この記事では、ExcelのVBAマクロでシートを指定する方法について解説していきます。
ポイントとしては、**Worksheets**、**Range**、**Cells**を使用することです。
なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。
そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。
それでは詳しく見ていきましょう!
VBAマクロでのシートの指定(変数)方法【Worksheets, Range】
それではまず、VBAマクロでのシートの指定(変数)方法について解説していきます。
シート等を変数としてセットすることは、コード作成の上で重要なため、理解しておくといいです。
直接名前や数値を指定するコードより、後で見返した時に見やすくなります(複雑なコードになるほどより重要に)
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub hensuuShiyou()
' シートを変数にセットする
Dim sheeto As Worksheet
Set sheeto = ThisWorkbook.Worksheets("Sheet1")
' a列のデータをb列にコピーする
sheeto.Range("A:A").Copy sheeto.Range("B:B")
End Sub
コードのAlt+F8を押し、マクロ選択画面でhensuuShiyou関数を実行します。
このコードでは、シートを変数**sheeto**にセットしてから、a列のデータをb列にコピーしています。
VBAマクロでのシートの指定(名前)方法【Worksheets, Range】
続いては、VBAマクロでのシートの指定(名前)方法について解説していきます。
名前を直接指定するサンプルが以下ですが、おすすめは上のよう変数も用いたものですね。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub namaeShiyou()
' シート名で指定し、a列のデータをb列にコピーする
ThisWorkbook.Worksheets("Sheet1").Range("A:A").Copy ThisWorkbook.Worksheets("Sheet1").Range("B:B")
End Sub
コードのAlt+F8を押し、マクロ選択画面でnamaeShiyou関数を実行します。
このコードでは、シート名”Sheet1″を直接指定し、a列のデータをb列にコピーしています。
VBAマクロでのシートの指定(番号・数値)方法【Worksheets, Cells】
続いては、VBAマクロでのシートの指定(番号・数値)方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub bangoShiyou()
' シート番号で指定し、a列のデータをb列にコピーする
For i = 1 To ThisWorkbook.Worksheets(1).Cells(1, 1).End(xlDown).Row
ThisWorkbook.Worksheets(1).Cells(i, 2).Value = ThisWorkbook.Worksheets(1).Cells(i, 1).Value
Next i
End Sub
コードのAlt+F8を押し、マクロ選択画面でbangoShiyou関数を実行します。
このコードでは、シート番号1(通常、最初のシート)を指定し、a列のデータをb列に1行ずつコピーしています。
まとめ
これで、ExcelのVBAマクロを使用して、シートを変数、名前、番号で指定する3つの方法を学びました。
それぞれの方法には特有の利点があるので(基本は変数セットがおすすめ)、必要に応じて適切なものを選択して使用してください。