効率化からプライベートの時間を創る







VBAでワークブックを指定して記述する方法

WRITER
 
VBA_ワークブックの指定
この記事を書いている人 - WRITER -
Excel歴15年。基本操作から関数、マクロ、VBAまで仕事で便利だったことを中心に書いています。お仕事の時間短縮にお役に立てれば幸いです。
詳しいプロフィールはこちら

ExcelのVBAを使用していると、ワークブックやワークシートを指定しながら入力したいことがよくあります。

しかし、頭の中ではイメージしていても、いざVBAを動かしてみるとエラーになったり違うシートに入力されたりすることも良くあります。
そこでこの記事ではVBAでワークブックを指定して記述する方法を紹介します。

今回はVBA初心者の方向けに、ワークブックやワークシートなどの階層についても説明しますので、ご自身の知識に合わせて読み飛ばしたり、気になる点をしっかり読んでいきましょう。
 

ワークブック・ワークシートの階層

VBA_ワークブックの指定2
まずはVBAに限らずExcelで使用される階層についてご説明します。

普段入力しているマスは「セル」と呼ばれていて、具体的に言うと「〇〇のブック」の「〇〇のシート」のセルに入力されています。

ブックは保存しているExcelのデータの名前です。

VBA_ワークブックの指定1

そして、シートはExcelの下にあるもので、基本的にはシート1から始まります。

VBA_ワークブックの指定2

セルは入力されているマスのことで、上の画像では「A1」のセルを選択しています。

ワークブックを指定した書き方

VBA_ワークブックの指定3
ワークブックを指定する場合の基本となる書き方は以下となります。

【ワークブック名】.【ワークシート名】.【セル名】

 

間に必ずコンマ「.」を記述する必要があります。

 

ワークブックを指定した書き方の例

Sub テスト()

Workbooks(“book1”).Worksheets(“sheet2”).Range(“A1”).Value = “テスト2”
End Sub

この書き方ではExcelの保存名がbook1だった場合、ワークシート2のセルA1に「テスト2」と入力されます。
VBA_ワークブックの指定4

ワークシートは2種類の書き方がある

ワークシートは先ほどのようにシート名をそのまま書く方法もありますが、シートの順番として記述することもできます。

Worksheets(“sheet2”)
or
Worksheets(2)

1つ目の書き方は「sheet2」の名称で保存しているシートを指定しており、2つ目の書き方はそのデータの中で2つ目のシートを表しています。
 

memo

どちらの記述でもメリットとデメリットがある。シートを途中で削除する可能性があるなら1つ目の書き方を行い、シート名が途中で変更される可能性があるなら2つ目の書き方をするなど、メンテナンスを考えてコードを記述する

 

ワークブックを省略した書き方

以下のようにワークブックやワークシート名を省略した場合、アクティブブックのアクティブシートのセルを指定されます。

アクティブとは今開いているもののことを指します。

 

Range(“A1”).Value = “テスト”

上記のコード場合、もしsheet3を開いているときにマクロを動かしたらsheet3のセルにテストと入力され、もしsheet2を開いているときにマクロを動かしたらsheet2に入力されるようになります。

ボタンを表示するなど、確実に「今開いているsheet」を指定する場合はシート名やブック名を省略するとコードが短くなって見やすくなる

 

まとめ

今回はExcelのVBAでワークブックを指定して記述する方法について紹介しました。

ワークブックやワークシートの指定を間違えると、思わぬ所で時間がかかってしまい、消したくないデータを消してしまったりします。

基本を知ることで今後の応用にも繋がりますので、是非ワークブックの指定方法を習得しておきましょう。

Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。

仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。

この記事を書いている人 - WRITER -
Excel歴15年。基本操作から関数、マクロ、VBAまで仕事で便利だったことを中心に書いています。お仕事の時間短縮にお役に立てれば幸いです。
詳しいプロフィールはこちら









- Comments -

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Copyright© Excel仕事術ブログ , 2022 All Rights Reserved.