No.2ベストアンサー
- 回答日時:
>VBAをWorksheetに登録しdeleteキーを押した際に背景を塗りつぶしなし
Delete でも可能ですが、Delete は、基本的なキーのひとつですから、それを潰すのはあまり賛成できません。確か、キーボードマクロで、そのようなツールもあった覚えがありますが、あくまでもExcel-Sheet内に限りますので、[コントロールキー + Del ] ではいかがでしょうか。
そういう発想からすれば、当然、Application.OnKey "{RIGHT}", "^{+}{PGUP}" で、右移動も可能です。
私の記憶では、これらの組み合わせの中で、Windows OS由来のものは、設定はしてはいけなったと思います。例えば、Alt + F4 などが入ります。
私の設定は、MZツールというアドインプログラムで、ほとんどのショートカットキーで、VBA Editorに対してテンプレートが起動するように設定されていますので、もう取る場所がないぐらいです。
'//標準モジュール
Sub Auto_Open()
Application.OnKey "^{DEL}", "NoFillMacro"
End Sub
Private Sub NoFillMacro()
Dim Rng As Range
If TypeName(Selection) = "Range" Then 'セルの上にないと起動しません
Set Rng = Selection
Else
Exit Sub
End If
If Rng.Interior.Color <> xlColorIndexNone Then
Rng.Interior.Color = xlColorIndexNone
End If
End Sub
なお、これは、そのブックで、Auto_Openで起動されたら全ブックに及びます。
また、万が一にも外したい時には、
Application.OnKey "^{DEL}"
とマクロ名をなしにして実行すれば、設定は消えます。
この回答へのお礼
お礼日時:2017/06/20 02:59
WindFaller様回答ありがとうございます。
コントロールキー + Delのプログラムありがとうございます。
早使わせていただいております。
この様に割り当てる事も出来るのですね。
勉強させていただきます。
またお世話になる機会があるかと思いますが、何とぞよろしくお願い致します。
No.1
- 回答日時:
こんにちは
>deleteキーを押した際に背景を塗りつぶしなしにしたい~~
エクセルのマクロにはKeyPressのようなイベントは設定されていないいので、「イベントが発生したら~」のような記述方法はできないようです。
(フォーム内では、同様のイベントが利用できますが・・・)
ただし、API関数のGetAsyncKeyStateを利用することで、押し下げキーを取得することは可能です。
https://msdn.microsoft.com/ja-jp/library/cc36458 …
上記のようにイベント処理としては記述できませんので、キー操作を監視するような処理にしておいて、「対象のキーが押されたら予定の処理を行う」ようにする必要があります。
タイミングを外さないために、ある程度短い時間毎に監視する必要がありますが、短くしすぎると相当の負荷となりかねませんので、適当なところを見極める必要がありそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マウス・キーボード Deleteキーを同時押しで入力できるようにするソフト 2 2023/08/10 21:55
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
- Visual Basic(VBA) VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB 2 2022/04/06 21:33
- Visual Basic(VBA) VBA ダブルクリックしたときにctrlキーが押されているか知りたいのですが。 1 2023/06/30 22:42
- その他(コンピューター・テクノロジー) プリントスクリーンについて 6 2022/11/23 11:17
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- コスプレ 皮膚に文字を書く塗料について質問します 知り合いが、大きめの剣道の大会に出場します。 社会人の大会で 1 2022/04/05 14:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
ExcelのVBA。public変数の値が...
-
ソース内の行末に\\
-
ピボットテーブルでの毎回可変...
-
特定文字のある行の前に空白行...
-
ExcelVBAでPDFを閉じるソース
-
マクロの連続実行
-
TERA TERMを隠す方法
-
エクセルに張り付けた写真のフ...
-
VBA初心者 Ctrl+での操作、ボタ...
-
TeraTermマクロの文字列結合
-
エクセルのマクロについて教え...
-
エクセル マクロ 指定日の指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
他人が作ったマクロの理解
-
ExcelVBAでPDFを閉じるソース
-
TERA TERMを隠す方法
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
TeraTermマクロの文字列結合
-
PDF出力マクロについて。マクロ...
-
#defineの定数を文字列として読...
-
エクセルのマクロをセルの値に...
-
wordを起動した際に特定のペー...
おすすめ情報