No.1ベストアンサー
- 回答日時:
こんばんは!
>色付き数字セルがあるのですが・・・
条件付き書式でフォント色を設定してあるのですね。(セルの塗りつぶしではない!)
色といってもユーザー設定の色の場合はカラー番号、またはRGB値で判断する必要があると思いますので、
一案です。
↓の画像のように別シート(今回はSheet2にしています)に対応表を作成してみてはどうでしょうか?
(カラーインデックスを取得するのが一番手っ取り早い!)
A2~A9セルを対象のフォント色で塗りつぶしています。
B列に変更後の数値、D列にカラーインデックス番号を表示しています。
尚、Excel2010以降のバージョンをお使いだという前提です。
(Excel2007までだと、条件付き書式の色判定はいちいち条件を入れてやる必要があります)
対象Sheetは「Sheet1」とします。
標準モジュールにしてください。
Sub Sample1()
Dim cN As Long
Dim c As Range, r As Range
Dim wS As Worksheet
Set wS = Worksheets("Sheet2")
For Each c In Worksheets("Sheet1").Range("C5:T28")
If c <> "" Then
cN = c.DisplayFormat.Font.ColorIndex
Set r = wS.Range("D:D").Find(what:=cN, LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then
c = wS.Cells(r.Row, "B")
End If
End If
Next c
End Sub
こんな感じではどうでしょうか?
※ Sheet2のA列塗りつぶしの色(カラーインデックス番号)は
実際の色に合わせてください。m(_ _)m
No.2
- 回答日時:
No.1です。
画像を拝見すると、条件付き書式でセルを塗りつぶしているのですね。
前回の回答の最初に
>>色付き数字セルがあるのですが・・・
>条件付き書式でフォント色を設定してあるのですね。(セルの塗りつぶしではない!)
という記載をしていました。
すなわち塗りつぶしではなく、フォント色を判断しています。
塗りつぶしの色の判断であれば
>If c <> "" Then
>cN = c.DisplayFormat.Font.ColorIndex
の2行を
If c.DisplayFormat.Interior.ColorIndex <> xlNone Then
cN = c.DisplayFormat.Interior.ColorIndex
に変更してみてください。
※ カラーインデックス番号を確認したい場合は
塗りつぶされているセル(1セルのみ)を選択し
MsgBox Selection.DisplayFormat.Interior.ColorIndex
というマクロを実行してみてください。
選択したセルのカラーインデックスが表示されます。
※ カラーインデックスでは色の種類が限られます。
色の種類が多い場合はカラー番号の方が良いかもしれません。(約 1677万種類の色分けが可能)
その場合は
MsgBox Selection.DisplayFormat.Interior.Color
にしてみてください。
これでカラー番号が取得できますので、
Sheet2のD列をこの「カラー番号」に変更します。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- Excel(エクセル) エクセルで隣(右or左)のセルと同じ文字色にしたい 2 2022/12/13 11:33
- 数学 写真の問題の(4)についてですが、例えば赤のカードにおいて、他の数字は1枚ずつのままで5が2枚(他の 4 2023/07/29 03:49
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- その他(Microsoft Office) Excel2003,2007の作業です 2 2023/05/17 09:58
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
特定のセルが空白だったら、そ...
-
VBAでセルをクリックする回...
-
【Excel VBA】指定行以降をクリ...
-
VBからEXCELのセルの値を取得す...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
【Excel】指定したセルの名前で...
-
Excel VBA、 別ブックの最終行...
-
VBAの計算で@が出てしまう件
-
DataGridViewのセル編集完了後...
-
Excelのプルダウンで2列分の情...
-
Excel ユーザーフォームをモー...
-
EXCELのVBA-フィルタ抽出後の...
-
VB6のDataGridコントロールが良...
-
”戻り値”が変化したときに、マ...
-
Sub 要具ライフ() ActiveSheet....
-
RC表示に変数を入れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報
もう1つの表と同じなのですが、試した所全然違うふうになりました。
この様になりました。