Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1218 / 13645 ツリー ←次へ | 前へ→

【75627】テキストボックスの文字の色を変えたい ドカ 14/5/29(木) 20:34 質問[未読]
【75628】Re:テキストボックスの文字の色を変えたい γ 14/5/29(木) 21:08 発言[未読]
【75629】Re:テキストボックスの文字の色を変えたい ドカ 14/5/29(木) 22:03 お礼[未読]

【75627】テキストボックスの文字の色を変えたい
質問  ドカ  - 14/5/29(木) 20:34 -

引用なし
パスワード
   エクセルのシートにテキストボックスがあります。
テキストボックスには、文字が書かれています。

A123
B4444
C55224785




この文字のうち、各行の先頭の1文字目のみ色を変えたいです。
2文字目以降の色は変えません。

色は、赤、青、黄、紫・・・・と適当で良いです。

マクロ実行後
Aは赤
Bは青
Cは黄
という風に変えたいです。

数字の部分の色は変えず、最初のままです。

お分かりの方みえましたら、教えていただけますようお願いします。

【75628】Re:テキストボックスの文字の色を変えたい
発言  γ  - 14/5/29(木) 21:08 -

引用なし
パスワード
   参考例です。

現在選択されているテキストボックスを相手に作業します。

Sub test()
  Dim s As String
  Dim ary
  Dim myColor
  Dim p As Long, k As Long

  myColor = Array(RGB(255, 0, 0), RGB(0, 112, 192), RGB(0, 176, 80))

  With Selection.ShapeRange(1).TextFrame2.TextRange
    s = .Text
    ary = Split(s, vbLf)
    p = 1
    For k = 0 To UBound(ary)
      If Len(ary(k)) > 0 Then
        .Characters(p, 1).Font.Fill.ForeColor.RGB = myColor(k Mod 3)
        p = p + Len(ary(k)) + 1
      End If
    Next
  End With

End Sub

【75629】Re:テキストボックスの文字の色を変えたい
お礼  ドカ  - 14/5/29(木) 22:03 -

引用なし
パスワード
   ▼γ さん 回答ありがとうございます。

ご提示頂いたコードでうまくいきました。

1218 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free