No.5ベストアンサー
- 回答日時:
以下は特定の範囲を除いてセルの背景色を塗るマクロです。
予め塗りつぶしたくないセル範囲に「塗りつぶし不可」という名前を定義してから使用して下さい。Sub Macro9()
Dim iRng, tCell As Range
If TypeName(Selection) = "Range" Then
For Each tCell In Selection
Set iRng = Application.Intersect(tCell, Range("塗りつぶし不可"))
If iRng Is Nothing Then
tCell.Interior.ColorIndex = 3
End If
Next
End If
End Sub
No.6
- 回答日時:
こんばんは。
#3 のWendy02です。
今、たまたま読み直してみましてマクロを作ってみました。ただ、#3に書いたことを撤回するわけではありませんので、内容はまだ生きています。
試してみれば分かりますが、以下のようにすると、まるで、トランプの『神経衰弱』か、地雷を埋め込んだようです。
'シートモジュール
'---------------------------------------------------
Private Sub CommandButton1_Click()
'塗りつぶし不可ボタン (KeepOut)
Dim strNameRange As String
Dim dummy As Variant
Dim buf As String
On Error Resume Next
dummy = Application.Names("KeepOut")
On Error GoTo 0
If dummy = Empty Then
Application.Names.Add "KeepOut", RefersTo:="=" & Selection.Address
Else
strNameRange = Application.Names("KeepOut").RefersTo
If Intersect(Range(strNameRange), Selection) Is Nothing Then
buf = Replace(Mid(strNameRange, 2), ActiveSheet.Name & "!", "")
Application.Names("KeepOut").RefersTo = "=" & Selection.Address & "," & buf
End If
End If
dummy = Empty
End Sub
'---------------------------------------------------
Private Sub CommandButton2_Click()
'塗りつぶしマクロ
Dim dummy As Variant
On Error Resume Next
dummy = Application.Names("KeepOut")
On Error GoTo 0
If dummy = Empty Then
Selection.Interior.ColorIndex = 34 '水色
ElseIf Intersect(Range("KeepOut"), Selection) Is Nothing Then
Selection.Interior.ColorIndex = 34
Else
MsgBox "塗りつぶし禁止区域を含んでいますので、取りやめです。", vbInformation
End If
dummy = Empty
End Sub
2度のご回答ありがとうございました。
VBAのあまり知識がないので、もっと勉強してから、いただいたモジュールを試してみます。
本当にありがとうございました。
No.4
- 回答日時:
つーか塗りつぶし不可か、可か、どちらか一方(簡単な方)のセル範囲に名前を付けておけば十分でしょ。
No.3
- 回答日時:
こんにちは。
Yes/No だったら、Yes で、「出来ます」というだけです。
何をもって、「塗りつぶし不可」にするか、ではないでしょうか?
特定の列とか、行とか、セルを予め登録しておくのか、何かの文字が入っているのか、既に色がついているのか、その条件があると思います。それ以上は、今のところ、分かりません。
ご回答ありがとうございました。以下のお礼のとおり、あまりVBAの知識がありません。何を持って、というところは
例えばスケジュール表などを作成していて、その表内のセルしか塗りつぶしのボタン(マクロ)が使えないようにするという事です。ですので、「セルをあらかじめ登録しておく」ということになるのかもしれません。もっと勉強します。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Excel(エクセル) Excel 数式を使用した条件付き書式が、一つのセルにしか反映されない 3 2022/06/08 23:20
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excel97 指定した行だけマクロを実行させる方法を教えて下さい
Excel(エクセル)
-
エクセルVBAのエディターが上書きモード?に・・・・。
Excel(エクセル)
-
EXCEL VBA で指定した範囲に入力があるかどうか?
Visual Basic(VBA)
-
-
4
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
5
エクセルのマクロをセルの値に応じて自動起動したい
Visual Basic(VBA)
-
6
エクセル(VBA)でドラック&ドロップの実現
Excel(エクセル)
-
7
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
8
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
9
指定範囲内で図形等を削除する方法は?
その他(Microsoft Office)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
エクセル ダブルクリック入力の範囲が複数の場合
Excel(エクセル)
-
13
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
14
VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
マクロを実行すると画像がズレ...
-
Excel2007 色のカウント (VBA)
-
Excelで、図形内の文字をセルに...
-
アポストロフィーの一括挿入 ...
-
エクセル,ふりがなの自動設定
-
フォントの色を指定して削除出...
-
クリックすると文章が表示され...
-
現在のセルの位置を返す関数は...
-
Excel内での検索結果をシート...
-
開始行と最終行を指定して差し...
-
Excelでセルをクリックす...
-
VBA 見つからなかった時の処理
-
太字に設定されているセルの個...
-
エクセル 数字をすべて○などの...
-
ワードの様に新規保存時に自動...
-
【EXCEL】先週の月曜日の日付を...
-
vbaでセルの範囲をした時、セル...
-
エクセルで複数セルの文字を一...
-
アンケートの作成方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
太字に設定されているセルの個...
-
クリックすると文章が表示され...
-
Excelで挿入した図をセルの中央...
-
【マクロ】ファイル名の変更に...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
Excel ハイパーリンクのURLを別...
-
フォントの色を指定して削除出...
-
Excelでセルをクリックす...
-
Excel2007 色のカウント (VBA)
-
エクセルでの検索ボックスの作...
-
現在のセルの位置を返す関数は...
-
エクセル マクロ チェックボックス
-
VBA 見つからなかった時の処理
-
アポストロフィーの一括挿入 ...
-
エクセルでPDFリンクを大量...
-
セルの値が変ると自動でマクロ...
おすすめ情報