• ベストアンサー

左から10番目、20番目~の数値に色をつける

 セルに打ち込まれた左側から数値、たとえば10番目、20番目、30番目、40番目~に文字色をつけるにはどのようにしたら良いかご教示をお願いします。  セルは表示形式で「文字列」にしてあります。一つにセルに数字を70~80位打ち込む予定です。  左側から10番目ごとに(10,20,30,40,50,60,70,80)打ち込まれた数字の色と変えて表示したいと思います。打ち込むのは数字のみです。宜しくお願いいたします。 Excelバージョン 2010 Windows 10

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 回答No.3です。 >セルについてはA1~A150位までを予定しています。上記にあるマクロをそのまま使うことが出来るでしょうか。  はい、そのまま使用する事が出来ます。  尚、色を変更する事が出来るのは、セルに直接打ち込まれた文字列だけであり、数値データや関数を使って表示された文字列に関しては色を変える方法はおそらく存在しないのではないかと思いますので、その点は注意して下さい。

atsushi0927
質問者

お礼

ご返答有り難うございます。

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 以下の様なVBAのマクロを使いますと、選択したセル範囲に入力されている全ての文字列が >左側から10番目ごとに(10,20,30,40,50,60,70,80)打ち込まれた数字の色と変えて表示 される様になります。  下記の例では10番目ごとの文字色が赤になりますが、もし変更後の文字色の設定を変える場合には、下記のVBAの構文中の RGB(255, 0, 0) の中の3つの数値を0~255の範囲で変更して下さい。 Sub QNo9134670_左から10番目_20番目の数値に色をつける() Const n = 10 Dim c As Range, i As Long, myLen As Long If TypeName(Selection) = "Range" Then For Each c In Selection myColor = c.Font.Color myLen = Len(c.Value) If myLen >= n Then For i = n To myLen Step n c.Characters(Start:=i, Length:=1).Font.Color = RGB(255, 0, 0) Next i End If Next c End If End Sub

atsushi0927
質問者

お礼

マクロをご教示して頂き有り難うございました。 セルについてはA1~A150位までを予定しています。上記にあるマクロをそのまま使うことが出来るでしょうか。若干マクロを改める必要があるでしょうか。再度宜しくお願いいたします。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

[No.1補足]へのコメント、 識者がマクロによる方法を回答されるでせう。 私、マクロ音痴なんです。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

添付図のようなのでは駄目だとしたら、その理由は?

atsushi0927
質問者

補足

一つのセルに打つ混んで処理をしているので、一つのセルでお願いします。

関連するQ&A