
No.2ベストアンサー
- 回答日時:
過去の質問を検索していただくと、たくさんの事例がありますが、結論から言うとVBAを使用しないとセルの色は取得できません
>セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する
VBAを使用すればもちろんできますが、これは「例えば」の質問であって、このコードを書いても意味はないのでは?
ですから汎用的に使えるユーザ定義関数にしました。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。
ワークシート画面に戻って、適当なセルに
=CellColor(A1)
と入力してみて下さい。A1セルの色番号が表示されます。(背景色なしの場合は0が返ります)
この戻り値判定して、関数などでセルに値をセットすればよいでしょう
Function CellColor(ByVal rng As Range)
With rng.Cells(1, 1).Interior
If .ColorIndex = xlNone Then
CellColor = 0
Else
CellColor = .ColorIndex
End If
End With
End Function
ただしセルの背景色を後から変えても、ユーザ定義関数の戻り値は自動的には変わりません。式を入力した後で背景色を変更した場合は
ALT+Ctlr+F9
で強制再計算させる必要があります。
自宅にはOffice2003の環境がないため、コメントが遅くなりましたことまずお詫び申し上げます。
確かに、もう少し具体的な質問をしないとサンプルコードも書けないかもしれませんね。
しかし、zap35さんのご回答、参考になりました。
強制再計算はボタンクリックに変更し、ほぼ目的にあった動作をさせることができました。
ありがとうございました!
No.4
- 回答日時:
何の理由もなしに色をつけているとは思えませんので、
その理由付けになっている条件を取得できないでしょうか。
また、そのように仕組むべきです。
ご質問の内容だと、
「セルの色が赤ならば、隣のセルに1を代入する」ではなく、
「隣のセルが1なら、セルの色を赤にする」というアプローチに変更します。
エクセルの関数は他のセルをどうこうする機能はありません。
「隣のセルに1を代入する」という考え方ではなく、「他のセルの内容によって『1』になるような数式をセットしておく」という考え方です。
自宅にはOffice2003の環境がないため、コメントが遅くなりましたことまずお詫び申し上げます。
おっしゃることはわかります。
ただ、今回は既にある特定のセルが着色されたデータをもらい、
それに対して集計を行うのが任務だったので。
No.3
- 回答日時:
自宅にはOffice2003の環境がないため、コメントが遅くなりましたことまずお詫び申し上げます。
ありがとうございます。こういうやり方もあるんですね。
しかし、ちょっと私にはソースが高度かな?って感じですが、
今後のためにも勉強になります。
No.1
- 回答日時:
私も先ほど同じ問題でハマりました。
最初のセルをA1、隣のセルをB1として、
・A1: A1の値が0より大きければA1の色を赤にする(条件付き書式)
・B1: A1の値が0より大きければB1に1を表示する
・A1に1を入れる
私はこの方法で妥協することにしました。
この回答への補足
自宅にはOffice2003の環境がないため、コメントが遅くなりましたことまずお詫び申し上げます。
で、ご回答いただいたないようですが、
私と目的が異なっているように思えるのですが、それは私の理解力が不足しているだけでしょうか?
すみませんが、追記いただけると助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Excel(エクセル) Excel アクティブセルのみ条件付き書式の色を他の色にしたい。 4 2022/06/11 22:19
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Visual Basic(VBA) VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB 2 2022/04/06 21:33
- Excel(エクセル) COUNTIFSについて 2 2022/08/30 14:48
- Excel(エクセル) エクセルで計算結果が0でないときのみセルを更新したい 4 2022/07/30 11:58
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- 会計ソフト・業務用ソフト エクセル 背景色のついたセル位置を参考にして固定の数値を取得する 4 2022/07/11 08:44
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
このQ&Aを見た人はこんなQ&Aも見ています
-
色つき行の一括削除は?
Word(ワード)
-
エクセル:文字色を認識して○×で判定する。
Excel(エクセル)
-
Excel 書式を関数で判断。
Excel(エクセル)
-
-
4
条件付き書式で色をつけたセルを判断して他のセルの色をつけることは可能でしょうか?どの様な方法がありま
Excel(エクセル)
-
5
セルの色によって条件文をつけることはできますか?
その他(Microsoft Office)
-
6
セルに特定の色が付いていたら計算式を発動したい
Excel(エクセル)
-
7
Excel にて条件付き書式の色にさらに上塗りをしたいです。
Excel(エクセル)
-
8
特定の色のついたセルを削除
Visual Basic(VBA)
-
9
エクセルでセルの色番号を表示する方法
Excel(エクセル)
-
10
EXCEL関数での文字の色での判別
Excel(エクセル)
-
11
エクセルで隣(右or左)のセルと同じ文字色にしたい
Excel(エクセル)
-
12
エクセルの色も=イコールできますか?
Windows Me・NT・2000
-
13
VBAで色の付いているセルの行削除
Excel(エクセル)
-
14
あるセルに色を付けた時、別のセルにも同じ色が付く
Excel(エクセル)
-
15
結合したセルを含む列内で、条件付き書式として塗りつぶしたい
Excel(エクセル)
-
16
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
17
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
18
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
19
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
20
エクセルで文字色がついているセル数をカウント
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
excelの特定のセルの隣のセル指...
-
エクセルの書式設定の表示形式...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルのセルの枠を超えて文...
-
Excel 例A(1+9) のように番地の...
-
【Excel】 セルの色での判断は...
-
LARGE関数 飛び飛びの範囲を指定
-
エクセルの一つのセルに複数の...
-
対象セル内(複数)が埋まった...
-
Excelで教えてください。 バー...
-
【Excel】特定の文字から文字ま...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
Excel2003 の『コメント』の編...
-
Excelでのコメント表示位置
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報