| 
    
     |  | ▼つるりん さん: ありがとうございます
 
 >なので、選択行につながって同じ書式を設定
 >している場合それらを一体とみなします。
 了解しています
 
 >もうひとつ、設定するせる数が決まっているなら(たとえば3セル)
 残念ながら固定ではありません
 
 >値があるかで判別すれば出来そうな気がしてきました
 については、検討途中ですが下記のようになっています
 
 ただし、例がよくないみたいなので
 SET_DT を 一部修正して SET_DT2 を実行しています
 
 上記では
 B2,C2,D2,F2,G2,H2,
 B4,C4,D4,
 E4,F4,G4,H4,
 となり取りあえず4行目は把握できたような気がしますが
 2行目がうまく処理出来ていません
 
 立て続けに、書き込み頂いたので
 途中ですが書き込みさせて頂きました
 
 Sub SET_DT2()
 
 Range("B2").Value = ">゜))))彡   魚"
 Range("B2:D2").HorizontalAlignment = xlCenterAcrossSelection
 
 Range("F2").Value = ">゜))))彡2   魚"
 Range("F2:H2").HorizontalAlignment = xlCenterAcrossSelection
 
 Range("B4").Value = "くコ:彡   いか"
 Range("B4:D4").HorizontalAlignment = xlCenterAcrossSelection
 
 Range("E4").Value = "~ >゜)〜〜〜    へび"
 Range("E4:H4").HorizontalAlignment = xlCenterAcrossSelection
 
 End Sub
 
 Sub try8()
 Dim myRng As Range
 Dim mystr As String, celad As String, mystr2 As String
 Dim mycell As Range
 Dim i As Long
 
 Range("B1:H5").Select
 Set myRng = Selection
 For i = 0 To myRng.Rows.Count
 mystr = ""
 For Each mycell In myRng.Resize(1).Offset(i)
 If mycell.HorizontalAlignment = 7 Then
 
 mystr = mystr & mycell.Address(0, 0) & ","
 
 If IsEmpty(mycell.Offset(0, 1).Value) <> True Then
 
 Debug.Print mystr
 mystr = ""
 
 End If
 End If
 Next
 
 Debug.Print mystr
 
 If mystr <> "" Then
 mystr = "" & Left(mystr, Len(mystr) - 1) & ""
 
 Range(mystr).Select
 Sleep 500
 
 mystr2 = ActiveCell.Resize(, Selection.Cells.Count).Address(0, 0)
 celad = celad & mystr2 & vbCrLf
 
 
 End If
 Next
 
 Set myRng = Nothing
 End Sub
 
 |  |