TOPページへ

ワークシート操作関係VBAマクロ

Excel VBAExcel のテクニカル情報サイトです。
Excelは、VBAを使うとありとあらゆる処理ができ、とても便利です!
そんな、エクセルの知識や実用的なVBAマクロなどをたくさん紹介していきます!


このページは、ワークシート操作関係VBAマクロのカテゴリページです。





RSS情報アンテナ表示

【サイト管理人よりひと言】
Excel VBA の素晴らしさに惹かれてこのサイトを作りました。 ExcelでVBAプログラミングが組めるようになると、どんな面倒な処理でも VBAで処理をさせることができるようになります。 私の場合、事務系の仕事の面倒な処理は全てExcelにやらせています。 Excel VBAに出会ってからは驚くほど仕事の効率が上がりました。 今まで数時間かかっていた事務処理の仕事が、わずか数秒で終わったりしています。 本当にエクセルは素晴らしい表計算アプリケーションソフトです。

カテゴリ:ワークシート操作関係VBAマクロ

新しいワークシート(Sheet)をブック(Book)に追加するExcel VBAの記述

Excel(エクセル)のブック(Book)にワークシートを追加したい場合は、
ワークシート(Sheet)タブ上から右クリックメニューを表示させて、
「挿入」を選び、ワークシートを追加すれば良いのですが、
Excel VBAワークシートの追加操作を行うVBAのプログラムを
作りたい場合があるかもしれません。今回は、エクセルのブックに
新しいワークシートを追加したい場合、Excel VBAでどのように
記述すればいいのか教えたいと思います。その記述は、割と簡単です。



[記述例] 新しいワークシートを追加するVBA記述
Sub test()

    'アクティブシートの後ろに新しいシートを追加する
    Worksheets.Add after:=ActiveSheet

    'メッセージを表示
    MsgBox "アクティブシートの後ろに新しいシートを追加しました。"

End Sub
[動作とプログラムの説明]
動作の説明です。上記のプログラムを実行すると、
ブックのアクティブなシートの後ろに新しいシートを追加し、
追加したことをメッセージで表示します。
Worksheets.Add」部分が新しいシートを追加する命令。
その後の「after」がアクティブなシートの後ろに、
新しいシートを追加するという意味です。
もし、アクティブなシートの前に新しいシートを追加したい場合は、
「Worksheets.Add」部分の後ろの「after」を「Before」にすれば良いです。
こんな感じの記述です。

[記述例] 新しいワークシートをアクティブなシートの前に追加するVBA記述
Sub test()

    'アクティブシートの前に新しいシートを追加する
    Worksheets.Add Before:=ActiveSheet

    'メッセージを表示
    MsgBox "アクティブシートの前に新しいシートを追加しました。"

End Sub
もし、アクティブシートの前後に追加するのではなく、
指定のシートの前後の位置に追加したい場合は、
指定のアクティブシートに切り替えてから、「after」や「Before」を使うか、
VBA記述の「ActiveSheet」部分を次のように指定してください。
こんな感じの記述です。

[記述例] 新しいワークシートを指定したシートの後ろに追加するVBA記述
Sub test()

    'シート1(sheet1)の後ろに新しいシートを追加する
    Worksheets.Add after:=Worksheets("sheet1")

    'メッセージを表示
    MsgBox "シート1(sheet1)の後ろに新しいシートを追加しました。"

End Sub
また、「Worksheets.Add Before:=ActiveSheet」の後に、
,Count:=任意の枚数」を指定することで、追加する枚数も指定できます。
VBAの記述は、こんな感じ。

[記述例] 新しいワークシートをアクティブなシートの後ろに3枚追加するVBA記述
Sub test()

    'アクティブシートの後ろに新しいシートを3枚追加する
    Worksheets.Add after:=ActiveSheet, Count:=3

    'メッセージを表示
    MsgBox "アクティブシートの後ろに新しいシートを3枚追加しました。"

End Sub
ちなみに、「after」や「Before」を省略し、
「Worksheets.Add :=ActiveSheet」と記述すると、
アクティブシートの前に追加されます。VBAではなく、手作業でシートを
追加すると、アクティブシートの前に追加されますよね。
それと同じように省略するとアクティブシートの前に追加されます。
また、「after」や「Before」を1命令で同時にやろうとしてもできません。
もし、前後に追加したい場合は、1命令ずつやりましょう。



 

カテゴリ:ワークシート操作関係VBAマクロ 



サイト内検索



Excel NAVI(エクセル ナビ)のトップページへ移動



当サイトのプライバシーポリシーと免責事項について
当サイトの文章、記事、内容、画像、写真などの無断利用、無断転載を禁じます。
Copyright (C) Excel NAVI(エクセル ナビ) All Rights Reserved.