こんにちは
非常に分かりにくいですけど、
Sub test()
Dim r As Range
Dim i As Long
Rows("4:4").Copy Range("A2")
i = 1
For Each r In Rows("2:2").SpecialCells(xlCellTypeConstants)
r.Interior.Color = r.Offset(1).Interior.Color
If r.Value <> "" And r.Offset(1).Value <> "" Then
r.Value = r.Offset(1).Value
Else
r.Value = r.Offset(1).End(xlToLeft).Value
End If
If r.Value <> "" Then
r.Offset(-1).Value = "Q" & i
i = i + 1
End If
Next
Rows("2:2").Copy Range("A3")
Rows("2:2").Clear
End Sub
こんな感じですか?
テストデータで試して下さい。
お礼
ありがとうございます。 質問してから画像の見にくさに気づきました。
補足
A列始まりだとできましたが、Rangeのところを O列にしたらできないのはなぜですか