いつもお世話になっております。
さて、マクロの記録で最初にショートカットキーに”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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件付き書式に設定する関数を...
-
ieを使わずにサーバーとのやり...
-
Excelの警告について
-
エクセルVBA 同じ品名を色分けする
-
Excelの数式について教えてくだ...
-
【マクロ】文字列の一部を削除...
-
エクセルでVLOOKUPの入ったセル...
-
エクセルのデータ整理の方法
-
パソコン教室ってExcelとかどこ...
-
excelVBAについて。
-
excelVBAについて。
-
各種ファイルの比較をしたい
-
excelvbaでcsvファイルをセルに...
-
エクセル この場合、値の抽出で...
-
excelVBAについて。
-
セル内が空白設定なのに#N/Aと...
-
IEを使わずHTMLを取得する
-
エクセルのデータについて
-
excelVBAについて。
-
エクセルの不調について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 作業後に選択範囲...
-
別のフォームで記述している関...
-
Excel VBA 選択範囲の罫線色の...
-
VBAでのユーザフォームの表示有...
-
Sub Auto_Open() 実行されない
-
エクセル マクロ 別シートから...
-
ascW関数の結果がおかしい
-
ACCESSで別DBにあるクエリを...
-
ExcelVBAで毎月月初の最初にBoo...
-
最小化ボタンで最小化したフォ...
-
円の中に等間隔に線を引くには
-
Visual Basic 6.0のフォームの...
-
メニューバーのイベントが2回...
-
Excelのマクロ実行後に動作が重...
-
ステップモードの動作確認方法
-
excelのvbaを使って日付を置換...
-
エクセルのVBAにショートカット...
-
Excel VBAのステップイン
-
Excelで、チェックボックスにチ...
-
GetAsyncKeyState() を利用する...
おすすめ情報