自分のワークブックの中のワークシートを取得するサンプルコード

VBA

ワークブックを読み込んだ後、ワークシートの操作をする時もやはりワークシートの読み込みも必要だよね。

そうだね!そのためにここではワークシートを読み込む方法を伝えるからぜひ活用してね。とっても簡単だから覚えておいて損はないよ。

自分のワークブックを読み込んだ後は、ワークシートの存在もVBAに伝えないといけない。
そこで、ワークシートもワークブックと同じように読みこみ、変数にセットしてあげることが大事である。

自分のワークブックを読み込んでるのだから、わざわざワークシートも指定しなくていいんじゃない?と思うかもしれないが、ワークシートは1つではない。
複数存在する時もあるだろう。

また、1つしか使わないと決めているマクロであっても、やはり指定はしてあげたほうがコンピューターにとっては混乱しなくて済む。
思いもよらない変なエラーを防ぐためにも有効だ。

では、ここからは自分のワークブックからワークシートを読み込むサンプルコードを書いていく。
いつものように色々と試してみてほしい。

なお、今回はこの記事で作った「当ワークブック読込.xlsm」のファイルを使ってみる。

Option Explicit

Private Sub set_workbook()

On Error GoTo Error
Dim wbActive As Workbook            '当ワークブック
Dim wsActive As Worksheet           '当ワークブック内のワークシート

    '当ワークブック
    Set wbActive = ThisWorkbook
    '当ワークブック内のワークシート(Sheet1シート)
    Set wsActive = wbActive.Worksheets("Sheet1")
    
    If Not (wbActive Is Nothing) Then Set wbActive = Nothing

Exit Sub

Error:
 'エラーメッセージ
MsgBox "エラーが発生しました" & _
    vbCrLf & "エラー番号: " & Err.Number & _
    vbCrLf & "エラー内容: " & Err.Description, vbExclamation
If Not (wbActive Is Nothing) Then Set wbActive = Nothing

End Sub

ちなみにこれ、シート名が変わっても対応できるんだよ。
例えばSheet1が「Main」という名前のシートに変わった場合は、

Set wsActive = wbActive.Worksheets(“Main”)

  としてやればOKなんだ。やってみて!

あとは、シート名が分からない時はどうすればいいのか?ということもあるよね。そういう時は是非こちらの記事を参考にしてみて!

次は、当ワークブックから別ワークブックのワークシートを読み込んだ時のコードを紹介していくよ。

タイトルとURLをコピーしました