
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ランキング
-
WorkBooksをオープンさせずにシ...
-
エクセルの関数 ENTERを押...
-
【マクロ】アクティブセルの時...
-
エクセル「これ以上フォントが...
-
Excelの新しい空白のブックを開...
-
Excelの複数ブックの複数セルの...
-
エクセルでウィンドウの枠固定...
-
Excel(2010)のフィルターが保...
-
エクセルVBA イベントの切り替え
-
Excel 一枚のシートにある全て...
-
【マクロ】【VBA】同じフォルダ...
-
マクロの相談です。
-
エクセル2003 カラーパレットを...
-
エクセルを共有するとPCによっ...
-
macでのハイパーリンクの設定
-
マクロ 任意の・・・を特定の...
-
Excel 計算方法が勝手に自動か...
-
VBAでのブック・シートの保護・...
-
Excelファイル 読み取り専用
-
エクセルで50行ごとに区切った...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】アクティブセルの時...
-
Excelの新しい空白のブックを開...
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
エクセルを共有するとPCによっ...
-
Excelファイルをダブルクリック...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
エクセルで参照しているデータ...
-
Excel(2010)のフィルターが保...
-
Excelの警告について
-
Excelで複数ブックの同一セルに...
-
フォルダ内の複数ファイルから...
-
同じフォルダへのハイパーリン...
-
エクセルにおける,「ブック」...
-
別ブックから入力規則でリスト...
-
エクセルで別ブックをバックグ...
-
エクセルでウィンドウの枠固定...
-
エクセルファイルを開かずにpdf...
-
「ブックの共有」を有効にして...
おすすめ情報