MergeCellsプロパティでそのセルが結合されいるかどうか、
MergeAreaプロパティで結合されてるセル範囲を取得できます。
それを利用してコードを組めばいいでしょう。
Office TANAKA - Excel VBA Tips[結合セルを調べる]
あれからサンプルを作成して試してみたら、.Offset(1) で結合セルの場合でも次のセルへ移動しますね。
(A2~A6 が結合セルの場合、Range("A2").Offset(1) で Range("A7") へ移動する)
ということで、下記のようなコードで結合セルでも順に最後まで移動しながらデータを取得できます。
vba
1Sub Test()
2 Dim endRow As Long
3 endRow = Cells(Rows.Count, 2).End(xlUp).Row
4
5 Dim curRng As Range
6 Set curRng = Cells(2, 2)
7
8 Do Until curRng.Row > endRow
9 If curRng.Value <> "" Then
10 Debug.Print "開始:"; curRng.Offset(0, -1).Text
11 Debug.Print "終了:"; curRng.Offset(1, -1).Text
12 Debug.Print curRng.Text
13 End If
14 Set curRng = curRng.Offset(1) ’次のセルへ移動(結合セルでもOK)
15 Loop
16End Sub
B列のみ順に移動していってイミディエイトに出力する例ですので、これをもとに改良してご希望の出力になるようにしてください。