コンテンツへスキップ

Yamada's blog

メインメニュー
  • 汎用エクセルVBAツール
  • 動画マニュアル
  • ホーム
  • Excel・CSV
  • エクセルのシート名を一括置換するVBA
  • Excel・CSV
  • VBA

エクセルのシート名を一括置換するVBA

KINGKING007 2019年5月26日 1 分読み取り

エクセルのシート名を一括で置換するエクセルVBAをご紹介します。

次のサンプルコードを使うと、

  • 「ファイルを開く」ダイアログを表示。
  • シート名を一括で置換したいエクセルブックを選択。
  • エクセルブックに含まれる全シート名を一括で置換する。

という作業を自動化します。

目次

  • 操作方法
  • サンプルコード
  • コードの特徴

操作方法

1、
「エクセルのシート名を取得して一覧表を作成するエクセルVBA」を実行してシート名を取得。

 

2、
シート「シート名一覧」の「シート名(変更後)」に希望シート名を入力。

 

3、
下記サンプルコードを含むエクセルファイルを開き→「開発」→「マクロ」の順でクリック。
「Aシート名置換」→「実行」の順でクリック。

 

4、
ファイルを開くダイアログが表示されるので、シート名を置換したい対象のエクセルブックをクリックして、「開く」をクリック。

 

5、
マクロが実行されます。
「シート名一覧」以外のシート名を一括で置換します。

 

完了です。

サンプルコード

Default
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Sub Aファイルを開く()
Dim OpenFileName As String
OpenFileName = Application.GetOpenFilename("Excelファイル,*.xls*")
If OpenFileName = "False" Then
MsgBox "キャンセルされました。処理を終了します。"
End
Else
Workbooks.Open OpenFileName
End If
End Sub
Sub Aシート名置換()
Dim ws As Worksheet
Dim row, col As Long
Dim wsNames As Collection
Dim sh As Variant, flag As Boolean
Set wsNames = New Collection
Call Aファイルを開く
'画面更新停止
Application.ScreenUpdating = False
'確認ダイアログ停止
Application.DisplayAlerts = False
For Each sh In Sheets
If sh.Name = "シート名一覧" Then
flag = True
Exit For
End If
Next sh
 
If flag = True Then
Worksheets("シート名一覧").Select
Range(Range("A2"), Cells(Rows.Count, 2).End(xlUp)).Select
row = Selection.row
col = Selection.Column
Do While Not IsEmpty(Cells(row, col))
' KeyがStrig型でないと「型が一致しません」というエラーになる
wsNames.Add Item:=Cells(row, col + 1).Value, _
Key:=CStr(Cells(row, col).Value)
row = row + 1
Loop
For Each ws In ActiveWorkbook.Worksheets
On Error Resume Next
ws.Name = wsNames.Item(ws.Name)
Next
 
 
Else
'メッセージ表示
MsgBox "シート「シート名一覧」はありません。" & Chr(13) & "先に「シート名取得」を実行して下さい。" & Chr(13) & "処理を終了します"
ActiveWindow.Close
End If
'画面表示ON
Application.ScreenUpdating = False
End Sub

コードの特徴

  • 「ファイルを開く」ダイアログを表示した後、キャンセルをクリックした場合、
    キャンセル処理される様に対応しています。
  • 「エクセルのシート名を取得して一覧表を作成するエクセルVBA」と連携可能な様にしています。

投稿ナビゲーション

前: エクセルのシート名を一括取得するVBA
次へ: 【累計1,100ダウンロード突破!!】汎用エクセルVBAツール【HUNT】

関連記事

2046_000
  • Excel・CSV
  • VBA

【エクセルVBA】指定列で指定文字列を含む、セル個数を集計するVBA

KINGKING007 2025年2月22日 0
2016_000
  • Excel・CSV
  • VBA

【エクセルVBA】特定の文字列を含むセルへ、一括で色を付けるVBA

KINGKING007 2025年2月22日 0
1978_000
  • Excel・CSV
  • VBA

【エクセルVBA】選択範囲の数式を一括で絶対参照にするVBA

KINGKING007 2022年10月10日 0

検索

最近の投稿

  • 【WordPress】スマホで表を横スクロールさせる方法|Gutenberg対応CSSを解説
  • 【エクセルVBA】指定列で指定文字列を含む、セル個数を集計するVBA
  • 【エクセルVBA】特定の文字列を含むセルへ、一括で色を付けるVBA
  • 【エクセルVBA】選択範囲の数式を一括で絶対参照にするVBA
  • 【Excel】ブック全体から文字列を検索する方法

中の人

山田太郎111

自分向けの備忘録も兼ねて、
業務効率化に繋がる情報を投稿中です。

カテゴリー

  • Chrome (2)
  • Excel・CSV (22)
  • Google (1)
  • PDF (2)
  • Power Automate Desktop (1)
  • PowerPoint (3)
  • VBA (20)
  • Word (1)
  • WordPress (1)
  • スプレッドシート (1)
  • バッチファイル (1)
  • メール術 (1)
  • 単語登録 (1)
  • 考え方 (1)

アーカイブ

当サイトについて

  • プライバシーポリシー
  • 免責事項

スポンサーリンク

スポンサーリンク

関連記事

20260208サムネイル_【WordPress】スマホで表を横スクロールさせる方法|Gutenberg対応CSSを解説
  • WordPress

【WordPress】スマホで表を横スクロールさせる方法|Gutenberg対応CSSを解説

KINGKING007 2026年2月8日 0
2046_000
  • Excel・CSV
  • VBA

【エクセルVBA】指定列で指定文字列を含む、セル個数を集計するVBA

KINGKING007 2025年2月22日 0
2016_000
  • Excel・CSV
  • VBA

【エクセルVBA】特定の文字列を含むセルへ、一括で色を付けるVBA

KINGKING007 2025年2月22日 0
1978_000
  • Excel・CSV
  • VBA

【エクセルVBA】選択範囲の数式を一括で絶対参照にするVBA

KINGKING007 2022年10月10日 0
Copyright © All rights reserved. | MoreNews by AF themes。