シートの操作
・シートを挿入する
・シートを削除する
・シートに関連する基本的な操作
【ここでのポイント】
頻繁というより、必ず何らかの形でシート操作が必要になります。
しかし、シートの操作自体は極めて簡単なものなので、他の事と合わせて出題されることも予想されます。
つまり、応用的な使い方を問われる可能性もあるのではないかという事です。
ここの内容は、全ての項目について漏れることのないように学んでください。
シートを挿入する
シートを挿入するには、
Worksheetsコレクション
または、
Sheetsコレクション
のAddメソッドを使います。
ワークシート以外のシートを含むかどうかになります。
Sheetsコレクションは、全てのシート(グラフシート等を含む)のコレクションです。
Before | 指定したシートの直前に、新しい シートを追加します。 | ||||||||||
After | 指定したシートの直後に、新しいシートを追加します。 | ||||||||||
Count | 追加するシートの数を指定します。既定値は 1 です。 | ||||||||||
Type | ワークシートの種類を指定します。 既定値は xlWorksheet です。
|
戻り値
Before、After
Count
複数シートを追加する場合でも、1シートづつ追加するようにした方が良いでしょう。
使用例.
シートを削除する
Worksheetオブジェクト
のDeleteメソッドを使います。
Worksheets("シート名")
オブジェクト変数(Worksheet型)
等になります。
使用例.
以下のメッセージが表示され、マクロが中断します。

Worksheets(1).Delete
Worksheets(1).Deleteより前に実行されれば、場所はどこでも大丈夫です。
シートに関連する基本的な操作
シートの名前変更
Sheets(インデックス)
Worksheets("シート名")
オブジェクト変数(Worksheet型)
等々になります。
使用例.
公式テキストでは、同一シート名があるかについて、かなりのスペースを割いていますが、
以下のVBAコードが読めれば大丈夫でしょう。
Dim i As Long
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "test" Then
MsgBox "testシートは存在します。"
Exit For
End If
Next
コピー・移動
移動
Worksheets("シート名")
オブジェクト変数(Worksheet型)
等になります。
Before | コピーしたシートを特定のシートの直前の位置に挿入するときに、そのシートを指定します。 ただし、引数 After を指定すると、引数 Before を指定することはできません。 |
After | コピーしたシートを特定のシートの直後の位置に挿入するときに、そのシートを指定します。 ただし、引数 Before を指定すると、引数 After を指定することはできません。 |
備考
使用例.
シートの非表示
xlSheetHidden | ユーザーがメニューで再表示できるワークシートを非表示にします。 |
xlSheetVeryHidden | オブジェクトは非表示になります。 このプロパティに再び xlSheetVisible を設定しない限り、オブジェクトは表示されません。 また、ユーザー側でオブジェクトを表示することはできません。 |
xlSheetVisible | シートを表示します。 |
xlSheetHidden
xlSheetVeryHidden
ユーザーに、絶対に触れてほしくないシートの場合に使用します。
xlSheetHiddenまたはxlSheetVisibleに設定する必要があります。
注意
使用例
ThisWorkbook.Unprotect
Worksheets(1).Visible = xlSheetVisible
ThisWorkbook.Protect
ブックの保護を解除してから、
シートを表示し、
またブックを保護に戻しています。
以下は、出題範囲に明記されていませんが、
この章で学んでおいた方が良いと思われるものになります。
WorkSheetオブジェクトのメソッドとプロパティ
WorkSheetオブジェクトには、多数のメソッドとプロパティがあります。
どのくらい沢山あるかを知る意味で、一度見るだけは見ておくと良いでしょう。
それは、印刷です。
印刷自体は、WorkSheetオブジェクトだけにあるものではありませんが、
普通に考えて、印刷する時はシートをしていして印刷することがほとんどなはずです。
印刷と、印刷プレビューについては、一通り目を通しておいてください。
試験の出題としては、
PrintOutメソッドのPreview指定と、PrintPreviewメソッド
どちらでもプレビューできるという事は押さえておいた方が良いでしょう。
【業務改善の実務】
と言いますか、その為にマクロを書いているといっても良いでしょう。
その為に、試験に受かっても実務で使えないという事の原因にもなっています。
このあたりは、試験としては出しづらい内容なのですが、
実務では必須になりますので、必ず学んでおいてください。
【本サイト内の関連ページ】
第17回.セルにブック・シートを指定する
シートの追加・削除(Add,Delete)
VBAエキスパート公式テキスト
こちらは必須として購入した方が良いでしょう。
ちょっと高いなーとは思いますが、
書籍を購入することで、学習用データが提供されています。
・サンプルブック
・VBAエキスパート模擬問題
これらが使えるようになります。
このシリーズでは、テキストを読みながら学習していることを前提とします。
同じテーマ「VBAエキスパート対策」の記事
セルの操作
ステートメント
ブックの操作
シートの操作
デバッグデの基礎
マクロの実行
VBAベーシック試験対策まとめ
プロシージャ
イベント
ステートメント(スタンダード)
関数
新着記事NEW ・・・新着記事一覧を見る
列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロとは?VBAとは?VBAでできること|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.条件分岐(IF)|VBA入門
- ホーム
- マクロVBA入門編
- VBAエキスパート対策
- シートの操作
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。