
いつもお世話になっております。
さて、マクロの記録で最初にショートカットキーに”Z”を振り当てて黄色くしたのが下記のコードなのですが、Ctrl+Zで実行するとシート全体が削除されてしまいます。
ところが、VBAの編集画面でF8で1行づつ実行するとちゃんと動くのですが、何故かショートカットキーからの実行だと何度やってもシート全体が削除されてしまいます。
やりたいことは、最初に無駄な列を削除して残った列で合計、小計を表示させたいのです。
最初に無駄な列を削除する時に、ショートカットキーで実行すると全部の列が削除されるような感じです。
原因と対策をご教示お願いします。
Sub 処理1()
'
処理1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+Z
'
Range("A:P,S:T,V:V,X:AP").Select
Selection.Delete Shift:=xlToLeft
Selection.End(xlToLeft).Select
ActiveWindow.ScrollColumn = 1
Rows("1:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C3").Select
ActiveCell.FormulaR1C1 = "合計"
ActiveCell.Characters(1, 2).PhoneticCharacters = "ゴウケイ"
Range("C4").Select
ActiveCell.FormulaR1C1 = "1万円以上"
・・・・・・・・・・
End Sub
No.2ベストアンサー
- 回答日時:
>出来たらCtrl+Zで期待通り動くようにしたいのですが。
出来ない事は無いと思いますが・・・OnKeyを使うとか
Ctrl+Zはマクロの実行より使うケースが多くないですか?
Ctrl+Zは元に戻す時によく使うショートカットキーだと思います
強引に割り当てますか?止めておく方が良いと思いますよ。。
お礼が遅くなり申し訳ありません。
このために追加のご回答まですみません。
>Ctrl+Zは元に戻す時によく使うショートカットキーだと思います
知りませんでした。
使ったことが無く、大昔に「ショートカットキ」という機能を知った時に初めて割り当てたのがC+Zだったので・・・
アドバイス通りにやめておきます。
No.3
- 回答日時:
何かの機会に(他のキーで)同様の事をやりたいかもしれませんので
簡単な方法を示しておきます
Ctrl+zは有用なキーなので出来るだけ実行範囲を少なくして考えました
コードを拝見する限り、特定のシートで実行するもの?かと思いますので
実行する シートモジュールに
Private Sub Worksheet_Activate()
Call zKey_onMacro
End Sub
Private Sub Worksheet_Deactivate()
Call zKey_offMacro
End Sub
標準モジュールに
Sub 処理1()
Range("A:P,S:T,V:V,X:AP").Select
Selection.Delete Shift:=xlToLeft
Selection.End(xlToLeft).Select
ActiveWindow.ScrollColumn = 1
Rows("1:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C3").Select
ActiveCell.FormulaR1C1 = "合計"
ActiveCell.Characters(1, 2).PhoneticCharacters = "ゴウケイ"
Range("C4").Select
ActiveCell.FormulaR1C1 = "1万円以上"
・・・・・・・・・・
End Sub
Sub zKey_onMacro()
Application.MacroOptions Macro:="処理1", ShortcutKey:="z"
End Sub
Sub zKey_offMacro()
Application.MacroOptions Macro:="処理1", ShortcutKey:=""
End Sub
対象のシートをアクティブにした場合にCtrl+zで実行できると思います
通常の戻るショートカットキーは使えない
他のシートに移れば戻るショートカットキーは使えます
他のシートでも実行したい場合は
Private Sub Worksheet_Deactivate() を削除してください
Application.OnKey "^z", "処理1" のようなやり方もありますが、
機能を戻す方法を(ブックを再起動以外)知りません
非常に丁寧な追加のご回答で心苦しく。。。
当方の無知ゆえにお手数をお掛けし申し訳ありませんでした。
Ctrl+Sift+Zで対応することに致します。
慣れの問題なので経時で慣れてしまうと思いますので特殊な細工は辞めます。
No.1
- 回答日時:
こんにちは
>Ctrl+Zで実行する
Ctrl+Shift+Zになっていますが・・・ 書き間違えだけ?
これはマクロの記録の設定画面の枠で”Z"を指定すると
Ctrl+Shift+Z
と記録されるのですが、前回は同じ方法Ctrl+Zで問題なく動かせたので気づきませんでした。
改めてCtrl+Shift+Zやってみたら予定通りに動きました。
最初にNETで調べた時にもCtrl+Shift+ZとあったのでSiftを削除して実行したらシート全部が空白になってしまいました。
出来たらCtrl+Zで期待通り動くようにしたいのですが。
これまで左手だけでC+Zで使っていたのと、この3つのキーは同時に押しにくいので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ】excelファイルを開く...
-
エクセルのリストについて
-
【マクロ】【相談】Excelブック...
-
エクセルの関数について
-
【マクロ】数式を入力したい。...
-
【マクロ】元データと同じお客...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
【マクロ】左のブックと右のブ...
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
LibreOffice Clalc(またはエク...
-
vba テキストボックスとリフト...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
エクセルシートの見出しの文字...
-
【マクロ】【画像あり】ファイ...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ画像あり】❶1つの条件...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 作業後に選択範囲...
-
別のフォームで記述している関...
-
VBAでのユーザフォームの表示有...
-
Excel VBA 選択範囲の罫線色の...
-
エクセル マクロ 別シートから...
-
ascW関数の結果がおかしい
-
ACCESSで別DBにあるクエリを...
-
最小化ボタンで最小化したフォ...
-
ステップモードの動作確認方法
-
Sub Auto_Open() 実行されない
-
BASIC ListViewの選択された行...
-
ExcelVBAで毎月月初の最初にBoo...
-
C++Builderのエラー...
-
Excelのマクロ実行後に動作が重...
-
excelのvbaを使って日付を置換...
-
VBAで選択クエリを実行したらデ...
-
円の中に等間隔に線を引くには
-
メニューバーのイベントが2回...
-
MATLABの乱数生成関数 rand( ) ...
-
エクセル VBA
おすすめ情報