- ベストアンサー
excel vba
VBAに不慣れなので教えてください。 今下記のプログラム(A1セルで青色以外の文字を消去する)はA1セルのみを対象にしているのですが、 (1)セルをA1からA3までにする。 (2)処理対象をA1のある列を対象とするようにしたい。 各々どう手直しすればいいか。 プログラムtest Public Sub test() Dim r As Range Dim i, wk As String Set r = Range("A1") wk = "" For i = 1 To Len(r.Value) Debug.Print r.Characters(i, 1).Font.ColorIndex If r.Characters(i, 1).Font.Color = vbBlue Then wk = wk + r.Characters(i, 1).Text End If Next r.Value = wk r.Characters.Font.Color = vbBlue End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Public Sub test() Dim r As Range Dim i, wk As String For j = 1 To 3 '**** Set r = Cells(j, "A") '**** wk = "" For i = 1 To Len(r.Value) If r.Characters(i, 1).Font.Color = vbBlue Then wk = wk + r.Characters(i, 1).Text End If Next i '**** r.Value = wk r.Characters.Font.Color = vbBlue Next j '**** End Sub cellsはActiveSheetのものなので、限定した方が良いかも知れない。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
Public Sub test() Dim r As Range Dim i, wk As String for each r in range("A1:A3") wk = "" For i = 1 To Len(r.Value) If r.Characters(i, 1).Font.Color = vbBlue Then wk = wk + r.Characters(i, 1).Text End If Next r.Value = wk r.Characters.Font.Color = vbBlue next End Sub
お礼
おかげで解決しました。ありがとうございました。
お礼
おかげで解決しました。ありがとうございました。