検索

キーワード


目次

【Excel VBA】ワークシートの追加・名前の変更・削除をする方法

  • 公開日:2023-06-12 13:16:32
  • 最終更新日:2023-06-13 14:38:08

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

皆さんこんにちは、エンジニアのIMMRです。


突然ですが、下記のようなシートを持つ、ブックにシートを追加・名前の変更・削除をしたいと思います。


図1サンプルブック

図1サンプルブック


シート「A1」の右にシート「A2」を追加したい・・・

シート「C0」の左にシート「B1」を追加したい・・・

シート「C0」をシート「B2」に名前の変更したい・・・

シート「C1」を削除したい・・・

等などといろいろあると思います。


こういったシートの新規・名前の変更・削除といった方法を説明します。


1.シートの追加・名前の変更・削除方法

シートの追加・名前の変更・削除を行うには、以下の手順が必要です。

①シート名を指定(どこに作成するのか)

②場所を指定(指定したシートの右か?左か?)

③作業を指定(追加か?削除か?) 

④名前の変更(指定したシートを変更) 


①シート名を指定

下記のようなシートがあったとします。

図2 サンプルシート1

図2 サンプルシート1

そして、シート「A1」を指定したい場合は2つの方法があります。


シート名を直接記載する方法

その名の通り、直接記載します。

以下のような感じです。

Worksheets("A1")


シートの番号を記載する方法

シートの番号を記載します。シート番号とは、左から何個目なのかを記載します。

図2でいうシート「A1」は3つ目なのでになります。

Worksheets(3)


②場所を指定

指定したシート名の左なのか、右なのか、を指定します。


左の場合

指定したシートの左を指定します。

Before


右の場合

指定したシートの右に指定します。

After


③作業を指定

追加か削除を指定します。


追加の場合

指定したシートの追加をします。

Worksheets.Add


削除の場合

指定したシートの削除をします。

指定したシート名.Delete


ただし、シートを削除する場合、

毎回、削除を実行する時に「削除しますか?」と表示されるので不便です。

その場合、メッセージを抑止することができるのでその方法で行うことをおすすめします。


Application.DisplayAlerts = False
指定したシート名.Delete
Application.DisplayAlerts = True


Application.DisplayAlerts = Falseで確認メッセージを抑止します。

しかし、このままFalseの状態にしておくと

マクロが終了しても確認メッセージが抑止の状態になり、

Excelからさまざまなメッセージが表示されなくなってしまうので

FalseからTrueにして抑止状態をもとにもどすことが必要です。


④名前の変更

名前を変更しますがシートの指定する方法が2つあります。


シートを名前で指定する場合

指定したシートの名前を変更します。

指定したシート名.Name = "変更したい名前"


ActiveSheetを指定する場合

ActiveSheetを使用して、シートを指定して名前を変更します。

新規(Add)で新規作成した直後の場合は、作成したシートがアクティブになっているのでそのまま使用できます。

ActiveSheet.Name = "変更したい名前"


2.シートの追加・名前の変更・削除方法(サンプルプログラム)

今回サンプルで使用するのは図1サンプルブックでも使用したブックのシートです。

これにシートの追加・名前の変更・削除を行っていきます。


図3 サンプルシート

図3 サンプルシート


1.シート「C0」の左にシートを追加します。 ※ここでは、敢えて名前の変更を省きます。

2.3つ目のシート(「A1」)の右にシートを追加して、名前を「A2」にします。

3.シート「C1」の名前を「D1」にします。

4.シート「SS」を削除します。 確認メッセージは非表示にします。


シートの追加・名前の変更・削除を行うサンプルプログラムです。

Sub test()

    Worksheets.Add Before:=Sheets("C0")  

    Worksheets.Add After:=Sheets(3)
    ActiveSheet.Name = "A2"

    Worksheets("C1").Name = "D1"

    Application.DisplayAlerts = False
    Worksheets("SS").Delete
    Application.DisplayAlerts = True

End Sub


3.シートの追加・名前の変更・削除方法(サンプルプログラム実行)

プログラム実行後の結果が以下になります。


図4 シート(実行後)

図4 シート(実行後)


先ほどの実行前の

図3 サンプルシート

図3 サンプルシート


・シート「C0」の左に新しくシートが作成されています。 ※名前の変更とかを除いた場合、「Sheet1」とかで作成されます。

・シート「A1」の右に「A2」としてシートが追加されています。 ※シート「SS」が削除されているので2つ目の右に作成されています。

・シート「C1」からシート名が「D1」になっています。

・シート「SS」が削除されています。


以上により、ワークシートの追加・名前の変更・削除を行うことができました。


【著者】

Imamura

「挑戦心」を忘れずに、新しいことにチャレンジしています。 資格:VBAエキスパート Excel VBA(ベーシック/スタンダード) 等

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事