A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
すでに回答にある通りかと思います。
>Excelの条件付き書式で、ある条件を満たすとセル色をグレーにしています。
色は表現に個人差などがありますので、より具体的でないと一致するか分かりません。実際に設定した色でコードを書く必要がありますので
VBAで設定色を調べるのが良いと思います。
A1セルに設定色が表示されている状態で調べる
Sub Color_test()
Debug.Print "Color="; Range("A1").DisplayFormat.Interior.Color; _
vbCrLf; "ColorIndex="; Range("A1").DisplayFormat.Interior.ColorIndex
End Sub
>書き込みが出来なくなるような処理
保護などを掛けない場合は、入力が出来てしまいます.
シート保護を掛ける場合でも、保護を解いて設定、シート保護を掛けるかたちになりますが、どのタイミングで行うか、少し悩ましいのではないかと思います。
シート保護を設定しないで入力させない方法が良いのではと(実際には入力しています)
Application.Undo で入力値を入力前に戻す処理が出来ます。
この場合は、Worksheet_Changeイベントになりますかね?
対象の条件書式が設定されている範囲
暫定 A1セルから A列最終行
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))) Is Nothing _
And Target.DisplayFormat.Interior.Color = 10921638 Then
On Error Resume Next
With Application
.EnableEvents = False
.ScreenUpdating = False
.Undo
.ScreenUpdating = True
.EnableEvents = True
End With
End If
End Sub
10921638はColor_testの暫定結果
Interior.Color は RGBでも設定できます
勿論、Interior.ColorIndexでも良いかと、、、
>参考までに
#1様に同感です。
ありがとうございます。
このブックをスプレッドシートでも開かれる可能性が出てきました。。。
そうするともうどうしようもないという事になりますよね。
No.2
- 回答日時:
おはようございます。
直接の回答ではありませんが、VBAでしたら、入力用のフォームを作成
されて、それを使うという手もあるかと思います。
https://shingyouryu.xyz/excelvba-codekijutsuhen/
https://tripbowl.com/excel-vba/userform/
逆に、グレーのセルに入力したとしても、計算式やマクロ側では、その入力
された文字を参照しないとか?
SelectionChange
https://kabu-macro.com/detail.php?dir=word&dir2= …
そのセルが選ばれたら、入力できないなど表示されるとか?
セルのChangeイベント
https://tonari-it.com/excel-vba-event-worksheet- …
入力されても、判定で消去するとか?
VBAでは、処理を書けば色々な事ができると思います。ただ、作成する
にも労力がかかるので、極力少ない労力で、効果がでるのが理想かと。
もう少し具体的に説明されると、良い回答があるかもしれません。
ありがとうございます。
このブックをスプレッドシートでも開かれる可能性が出てきました。。。
そうするともうどうしようもないという事になりますよね。
No.1
- 回答日時:
こんばんは
>書き込みが出来なくなるような処理って可能でしょうか?
可能/不可能だけで言えば可能です。
シートに保護をかけた状態にしておいて、色が変わるタイミング(どのようなタイミングかご質問文からは不明ですが)で、セルのプロパティを書き込み不可にすればよいでしょう。
条件付き書式が処理されるタイミングが不明ですが、どこかのセルに入力した際や、計算が発生した時と推測されますので、その際のイベント処理で行うようにすれば可能です。
とは言え、やみくもにシート全体から対象セルを探して「書き込み不可」にするような処理方法では、効率が悪すぎます。
想像するところ、何らかの操作と関連があるのでしょうから、それに関連付けた処理ロジックを考えた方が宜しいように思います。
>文字色とか、フォントとか、太字かどうか等で分岐できるのか興味があります。
基本的にはできますが、色、フォント、太字などは、ひとつのセルの文字列の中でも各種混在できる仕様になっていますので、何かの判別に利用するのにはあまり良い策とは思えませんね。
ありがとうございます。
このブックをスプレッドシートでも開かれる可能性が出てきました。。。
そうするともうどうしようもないという事になりますよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- その他(Microsoft Office) EXCELのセルへの色づけ 2 2023/06/07 01:22
- Excel(エクセル) COUNTIFSについて 2 2022/08/30 14:48
- Excel(エクセル) 条件付き書式で文字入力 6 2022/08/29 10:40
- Excel(エクセル) 条件付き書式を使ってユーザー定義。「数字のみ」も「数字+アルファベット」も認識させたい。 2 2022/05/28 07:22
- Excel(エクセル) IFERROR(IF()IF())のような形の構文が作れません 2 2023/02/05 17:51
- Excel(エクセル) Excel VBAで、行の高さを、上下1文字分程度高くしたい 3 2023/04/23 00:17
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Excel 条件によって入力禁止にする
Excel(エクセル)
-
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
エクセルの条件付き書式で設定した条件にあったセルに色をつけ、かつロック
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
Worksheets メソッドは失敗しました。のエラー処理のやり方
Visual Basic(VBA)
-
6
エクセルVBAで Cancel=Trueの使い方
Excel(エクセル)
-
7
【エクセル】「実行時エラー’1004’ InteriorクラスのColorIndeXプロパティを設定できません。」とは?
Excel(エクセル)
-
8
エクセルでプルダウン選択されたらマクロの処理を実行させる方法
Word(ワード)
-
9
VBAで色カウント シートの保護について
Excel(エクセル)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
連続する複数のセル値がすべて0であることを判定するマクロ
Visual Basic(VBA)
-
12
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
13
Vba Userformを前面に出すについて
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロについて教え...
-
特定のセルが空白だったら、そ...
-
Excelで指定した日付から過去の...
-
連続する複数のセル値がすべて0...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
VBAでセルをクリックする回...
-
セルの結果でマクロ実行
-
特定の文字を条件に行挿入とそ...
-
ExcelVBAを使って、値...
-
【Excel】指定したセルの名前で...
-
VBA初心者です。結合セルを保持...
-
”戻り値”が変化したときに、マ...
-
DataGridViewの各セル幅を自由...
-
HTMLでVLOOKUP関数のようなこと...
-
任意フォルダから画像をすべて...
-
【VBA】指定したセルと同じ値で...
-
結合したセルの高さを内容に合...
-
TODAY()で設定したセルの日付...
-
[Excel VB]プルダウンで文字選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
TODAY()で設定したセルの日付...
-
EXCELで変数をペーストしたい
-
Excel VBA、 別ブックの最終行...
-
Excelのプルダウンで2列分の情...
-
VBA コピーして次の値まで貼り...
-
screenupdatingが機能しなくて...
-
エクセルVBAでコピーして順...
-
VBA初心者です。結合セルを保持...
-
セル色なしの行一括削除
-
VBAでセルをクリックする回...
-
Excel vbaで特定の文字以外が入...
-
DataGridViewの各セル幅を自由...
-
特定の文字を条件に行挿入とそ...
-
【VBA】指定したセルと同じ値で...
おすすめ情報