|
▼つるりん さん:
ありがとうございます
>なので、選択行につながって同じ書式を設定
>している場合それらを一体とみなします。
了解しています
>もうひとつ、設定するせる数が決まっているなら(たとえば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
|
|