Excel

【Excel】VBAマクロで結合セルの値を取得(複数も)する方法【Range, MergeArea, MsgBox関数を使用】

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では、VBAマクロで結合セルの値を取得(複数も)する方法【Range, MergeArea, MsgBox関数を使用】について解説していきます。

ポイントとしては`Range`, `MergeArea`, `MsgBox`関数を使用することです。

完全な初心者でもわかりやすいように、変数名を独特の表現にしています。実際に使用する際には、適切な英語表記に変更してご活用ください。

それでは詳しく見ていきましょう!

 

VBAマクロで結合セルの値を取得(複数も)し表示・出力する方法【シート1のA~C列の範囲で】

それではまず、シート1のA~C列の範囲で結合セルの値を取得し、それらを別のシートのA列2行目から順々に表示・出力する方法について解説していきます。

Sub GoukeiHyokaSheet1()
    Dim hyou1 As Worksheet, hyou2 As Worksheet
    Dim masu As Range, hajimeMasu As Range
    Dim gyouHyou2 As Integer

    Set hyou1 = ThisWorkbook.Sheets("Sheet1")
    Set hyou2 = ThisWorkbook.Sheets("Sheet2")
    gyouHyou2 = 2

    For Each masu In hyou1.Range("A1:C100")
        If masu.MergeCells Then
            Set hajimeMasu = masu.MergeArea(1)
            hyou2.Cells(gyouHyou2, 1).Value = hajimeMasu.Value
            gyouHyou2 = gyouHyou2 + 1
        End If
    Next masu
End Sub

Alt + F11にてVBE画面を開いて、上記コードをコピペしましょう。コードのAlt+F8を押し、マクロ選択画面で`GoukeiHyokaSheet1`関数を実行します。

このコードでは、シート1のAからC列までの範囲を走査し、結合されたセルが見つかった場合、その結合セルの最初のセルの値を取得し、シート2のA列に順番に追記していくものになっています!

 

VBAマクロで結合セルの値を取得(複数も)し表示・出力する方法【ブック内のすべてのシートで】

続いては、ブック内のすべてのシートでA~C列の範囲の結合セルの値を取得し、シート名とともにメッセージボックスで表示する方法について解説していきます。


Sub GoukeiHyokaAllSheets()
    Dim hyou As Worksheet
    Dim masu As Range, hajimeMasu As Range
    Dim kekkaMoji As String

    For Each hyou In ThisWorkbook.Worksheets
        For Each masu In hyou.Range("A1:C100")
            If masu.MergeCells Then
                Set hajimeMasu = masu.MergeArea(1)
                kekkaMoji = kekkaMoji & hyou.Name & ": " & hajime

Masu.Value & vbCrLf
            End If
        Next masu
    Next hyou

    MsgBox kekkaMoji
End Sub

Alt + F11にてVBE画面を開いて、上記コードをコピペしましょう。コードのAlt+F8を押し、マクロ選択画面で`GoukeiHyokaAllSheets`関数を実行します。

このコードでは、ワークブック内の全てのシートをループし、各シートのAからC列までの範囲内で結合セルを探します。

結合セルが見つかると、その値とシート名を文字列に追加し、最後にメッセージボックスで全ての結果を表示します(^^)/

 

まとめ VBAマクロで結合セルの値を取得(複数も)する方法【Range, MergeArea, MsgBox関数を使用】

この記事では、VBAを使用してExcelの結合セルの値を取得する方法を、シートごとおよびワークブック全体で行う二つの方法を紹介しました。

マクロをマスターしてさらに快適な毎日にしていきましょう(^^)/