シートの追加・削除(Add,Delete)
マクロVBAでいろいろ処理する場合、
作業用のシートを追加し、
そのシート上で処理した結果を他シートに反映させる等は良く使うテクニックです。
シートの追加・削除のVBA
シートを新規追加し、その後に追加したシートを削除しています。
Sub sample1()
Sheets.Add
ActiveSheet.Name = "新規シート"
'・・・いろいろな処理
Application.DisplayAlerts = False
Sheets("新規シート").Delete
Application.DisplayAlerts = True
End Sub
ブックの先頭に新規シートが作成されます。
ブックの一番後ろに新規作成する場合は、
Sheets.Add After:=Sheets(Sheets.Count)
としてください。
追加したシートのシート名の変更です。
作業用のシートなら、特に名前の変更をする必要もありません。
シートを削除するときに出るアラートメッセージの表示を止めています。
シートの削除です。
オブジェクト変数を使用したシートの追加・削除のVBA
Sub sample2()
Dim NewSht As Worksheet
Set NewSht = Sheets.Add
NewSht.Name = "新規シート"
'・・・いろいろな処理
Application.DisplayAlerts = False
NewSht.Delete
Application.DisplayAlerts = True
End Sub
こちらの方がスマート、と言いますか、より良い書き方と言えるでしよう。
なるべくActiveSheetは使わずにVBAを記述したほうが好ましいです。
Set NewSht = Sheets.Add(After:=Sheets(Sheets.Count))
この場合のVBAの書き方として注意するのは、引数を()の中に入れる必要がある事です。
オブジェクト変数に直接入れる場合は、このように記述します。
Sheets.Add After:=Sheets(Sheets.Count)
Set NewSht = ActiveSheet
Withステートメントを使用したシートの追加・削除のVBA
Sub sample3()
With Sheets.Add
.Name = "新規シート"
'・・・いろいろな処理
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Withステートメントを使う事で、オブジェクト変数を定義する必要もなくなります。
ただし、当然の事ですが、End Withまでしか使えませんので、
新規シートをあちこちで使用する場合には適しません。
同じテーマ「マクロVBAサンプル集」の記事
連続セル範囲の選択
1行置きにする行挿入(Insert)
シートの追加・削除(Add,Delete)
シートの複数選択(Select)
複数シートの印刷(PrintOut)
重複削除してコピー(AdvancedFilter)
ブックを安全確実に開く方法(Open)
ブックを閉じる(Close)
他ブックを開いて閉じる(Open,Close)
ブックを開かずにセル値を取得(ExecuteExcel4Macro,Excel.Application)
罫線を簡単に引く(Borders,BorderAround)
新着記事NEW ・・・新着記事一覧を見る
VBA100本ノック 100本目:WEBから100本ノックのリストを取得|VBA練習問題(3月3日)
VBA100本ノック 99本目:自動席替え(行列と前後左右が全て違うように)|VBA練習問題(3月2日)
VBA100本ノック 98本目:席替えルールが守られているか確認|VBA練習問題(3月1日)
VBA100本ノック 97本目:Accessデータを取得(グループ集計)|VBA練習問題(2月27日)
VBA100本ノック 96本目:Accessデータを取得(マスタ結合&抽出)|VBA練習問題(2月26日)
VBA100本ノック 95本目:図形のテキストを検索するフォーム作成|VBA練習問題(2月24日)
VBA100本ノック 94本目:表範囲からHTMLのtableタグを作成|VBA練習問題(2月23日)
VBA100本ノック 93本目:複数ブックを連結して再分割|VBA練習問題(2月22日)
VBA100本ノック 92本目:セルの色を16進で返す関数|VBA練習問題(2月20日)
VBA100本ノック 91本目:時間計算(残業時間の月間合計)|VBA練習問題(2月19日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.マクロはどこに書くの(VBEの起動)|VBA入門
10.とにかく書いてみよう(Sub,End Sub)|VBA入門
- ホーム
- マクロVBA応用編
- マクロVBAサンプル集
- シートの追加・削除(Add,Delete)
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。