
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(エクセル)
-
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
VBAでセルの上書き禁止出来るでしょうか?
Access(アクセス)
-
-
4
ドロップダウンリスト 自動表示したい
Excel(エクセル)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
【Excel】 セルの色での判断はできますか?
Excel(エクセル)
-
7
マクロ 実行ボタンを押さずに常に実行
Excel(エクセル)
-
8
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
9
【VBA】シート上の複数のチェックボックスのうちどれか一つでも変更した場合のイベント
Visual Basic(VBA)
-
10
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
11
【Excel VBA】 条件付き書式の結果、グレーアウトされたセルの値を削除したい
Excel(エクセル)
-
12
セルの上書き禁止について
Excel(エクセル)
-
13
VBA実行後に元のセルに戻りたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件に従って、自動でデータの...
-
TODAY()で設定したセルの日付...
-
【Excel】指定したセルの名前で...
-
ExcelVBAを使って、値...
-
テキストボックスの値を該当セ...
-
Excel VBA セルの選択方法
-
特定のセルが空白だったら、そ...
-
【エクセルVBA】繰り返し処理の...
-
エクセルVBAで結合セルの真ん中...
-
VBAのコードについて
-
EXCELのVBA-フィルタ抽出後の...
-
Excel vbaについて知恵もしくは...
-
loop終了後のセルの一個右から...
-
連続する複数のセル値がすべて0...
-
エクセルのマクロについて教え...
-
VBAでマクロ実行中はExcelのマ...
-
VBAコマンドボタンを押すたびに...
-
Excel VBA 一時退避用のセルオ...
-
コピーのvba分かりません
-
エクセルのユーザーフォーム上...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
特定のセルが空白だったら、そ...
-
VBA実行後に元のセルに戻りたい
-
【Excel VBA】指定行以降をクリ...
-
任意フォルダから画像をすべて...
-
【Excel】指定したセルの名前で...
-
VBAでセルをクリックする回...
-
【VBA】シート上の複数のチェッ...
-
EXCELのVBA-フィルタ抽出後の...
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
”戻り値”が変化したときに、マ...
-
ExcelのVBAで数字と文字列をマ...
-
VBA ユーザーフォーム ボタンク...
-
Excel VBA マクロ ある列の最終...
-
Excel VBA、 別ブックの最終行...
おすすめ情報