- ベストアンサー
Excel2013のVBAで複数の結合表から最終行を取得する方法
- Excel2013のVBAで複数の結合表から上側の表の最終行を取得する方法を教えてください。
- 表の上側には結合セルがあり、取得方法がわからない状況です。
- A1からA100までの結合セルの中で最後の単体セルであるA101を取得する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例です Range("A1").Select MaxRow = Selection.Offset(Rows.Count - 1, 0).End(xlUp).Address StRow = Selection.End(xlDown).Address For Each l In Range(StRow & ":" & MaxRow) If Not l.MergeCells Then Exit For End If Next l.Select
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! >結合セルには、何らかの値が入力されています >上側の表の最終行にあたるA101を取得したいと思っているのですが すなわちA列の最初のデータ入力セルから検索して、結合セルが途切れた次の行を取得するようにしてみました。 A101セルは結合していない!という前提です。 Sub Sample1() Dim i As Long, cnt As Long For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row If Cells(i, "A").MergeCells Then cnt = i Exit For End If Next i Do Until Not Cells(cnt, "A").MergeCells cnt = cnt + 1 Loop With Cells(cnt, "A") .Select MsgBox .Address(False, False) End With End Sub こんな感じではどうでしょうか?m(_ _)m
お礼
どうもありがとうございました。 思い通りにできました。
- weboner
- ベストアンサー率45% (111/244)
提示された条件なら A3セルから下方向に Cell.MergeCells の返り値がFalseのセルを探せばいいのでは? その次の同状態のセルを取得する場合は End(xlDown) で一旦したのブロックまで下がってから再度検索していけばいい
お礼
どうもありがとうございました。
お礼
試してみました。思い通りにできました。どうもありがとうございました。