No.3ベストアンサー
- 回答日時:
表示されてすべてのブックについて、セル結合の解除を行います。
(親ブックを除く)以下のマクロを、標準モジュールに登録してください。
Option Explicit
Public Sub セル結合解除()
Dim ms As Worksheet
Dim maxrow As Long
Dim bname
Dim wb As Workbook
Dim i As Long
Set ms = Worksheets("Sheet1")
'Sheet1の最大行取得
maxrow = ms.Cells(Rows.Count, 1).End(xlUp).Row
'表示されているブックを全件処理する
For i = 1 To Workbooks.Count
bname = Workbooks(i).Name
'ブック名が親ブック(マクロのあるブック)でないなら処理する
If bname <> ThisWorkbook.Name Then
Set wb = Workbooks(bname)
'そのブックのセル結合解除
Call kaijo(ms, maxrow, wb)
End If
Next
MsgBox ("完了")
End Sub
'セル結合解除
Private Sub kaijo(ByRef ms As Worksheet, ByVal maxrow As Long, ByRef wb As Workbook)
Dim wrow As Long
Dim sname As String
'Sheet1の1行から最終行まで繰り返す
For wrow = 1 To maxrow
sname = ms.Cells(wrow, 1).Value
'シート名が、処理中のブック中に存在するなら
If check_sheet(wb, sname) = True Then
'そのシートのセル結合を解除する
wb.Worksheets(sname).Range("B48").UnMerge
End If
Next
End Sub
'シート存在チェック
Private Function check_sheet(ByRef wb As Workbook, ByVal sname As String) As Boolean
Dim i As Long
'処理中のブック内の全シートをチェックする
For i = 1 To wb.Worksheets.Count
'シート名が同じなら、そのシートが存在する
If LCase(sname) = LCase(wb.Worksheets(i).Name) Then
check_sheet = True
Exit Function
End If
Next
check_sheet = False
End Function
No.2
- 回答日時:
補足要求です。
1.マクロを格納するのは、親ブックですか。それとも、他のマクロ専用のブックですか。
2.親ブック、子ブック1、子ブック2、子ブック3は既に開いている(オープンされている)前提で良いですか。
3.親ブックのsheet1の一列目に名前が入っているということですが、
名前が入っているセルはA1のみですか?、それとも、B1,C2・・・のように横にずらっと設定されているのですか?
4.子ブックの数は3個のみですか。(子ブック4,5等はない)
ありがとうございます。
1.マクロを格納するのは、親ブックですか。それとも、他のマクロ専用のブックですか。
>親ブックです
2.親ブック、子ブック1、子ブック2、子ブック3は既に開いている(オープンされている)前提で良いですか。
>はい、既に開いています
3.親ブックのsheet1の一列目に名前が入っているということですが、
名前が入っているセルはA1のみですか?、それとも、B1,C2・・・のように横にずらっと設定されているのですか?
>A列のみです。
A2.A3.A4・・・にシートの名前が入っています。
B列からO列までは他の情報が入っています。
4.子ブックの数は3個のみですか。(子ブック4,5等はない)
いいえ、18ファイルあります
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) excelのindirect関数の別ブック参照について質問です。 1 2022/06/03 15:17
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) 【マクロ】【VBA】同じフォルダ内にあるエクセルのデータを転記したい 2 2023/07/26 15:13
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) 【関数】【マクロ】データの転記の方法について 2 2023/07/26 15:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでブックを非表示で開いて処...
-
VBAでブック保護非保護を判定す...
-
WorkBooksをオープンさせずにシ...
-
エクセル:標準モジュールを一...
-
エクセルファイルを開かずにpdf...
-
エクセルにおける,「ブック」...
-
エクセルの関数 ENTERを押...
-
Excelで拡張子の後に数字が……何...
-
エクセルで別ブックをバックグ...
-
エクセルシートの一部を送りたい
-
エクセルで複数のシートを別フ...
-
エクセルで「ディスクがいっぱ...
-
エクセルを共有するとPCによっ...
-
Excel(2010)のフィルターが保...
-
【ExcelVBA】シートをそれぞれ...
-
Excelでブックの共有を掛けると...
-
外部ブック参照が#REF!になって...
-
EXCEL VBAマクロ作成で、他のEX...
-
エクセルで参照しているデータ...
-
ワードやエクセルで「時間が来...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
エクセルで「ディスクがいっぱ...
-
Excelでブックの共有を掛けると...
-
Excelで複数ブックの同一セルに...
-
Excel(2010)のフィルターが保...
-
エクセルで別ブックをバックグ...
-
エクセルにおける,「ブック」...
-
同じフォルダへのハイパーリン...
-
ブックのピボットを別ブックに...
-
エクセルファイルを開かずにpdf...
-
エクセル2016です。「ブッ...
-
ブックの保護ができないんです...
-
エクセルで50行ごとに区切った...
-
エクセルシートの一部を送りたい
-
フォルダ内の複数ファイルから...
-
エクセル 複数のブックを一度...
おすすめ情報