• ベストアンサー

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

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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のものなので、限定した方が良いかも知れない。

taktta
質問者

お礼

おかげで解決しました。ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

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

taktta
質問者

お礼

おかげで解決しました。ありがとうございました。

関連するQ&A

専門家に質問してみよう