
No.4ベストアンサー
- 回答日時:
こんばんは。
Userform作っちゃうのがオススメですが、とりえず OnKey から離れた方が吉です。
OnKey は独自のマクロ呼び出しショートカットキーを作成するってこと。
頻繁に使うであろう Enter キーに割当してしまえば、悲劇の予感しかないです。
この用途なら Worksheet の Change イベントで代用できませんか?
[VBA イベント] および [Application.EnableEvents] についても調べて下さい。
1. シート選択タブで[売上]シート上で右クリック
2. コードの表示
以上で、[売上]シートのシートモジュールが開きます
以下のソースをコピペしてください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$6" Then
'
'/ 入力チェック(簡易版)
'/ とりあえず CountA ワークシート関数で B3:B6 でデータ個数が
'/ 4であれば空なしとしました
'
If WorksheetFunction.CountA(Range("B3:B6")) = 4 Then
'/ ↓イベントの多重発生を抑止する
Application.EnableEvents = False
Call 売上登録
Application.EnableEvents = True
End If
'
End If
End Sub
ご返答頂きまして誠にありがとうございます。
確かに実際の起動に不便を少し感じるのと
設定を少しずらすとほかのエクセルにも
影響が出ましたので…
Onkeyからは離れます。
改めてシートモジュールに関して勉強しなおして
より効率化を図ってみようとおもいます。
本当にありがとうございます!
No.3
- 回答日時:
「アプリケーションonkye設定はできている」って書いてあったので、「ここまでは出来ているんだろ~な」って思っていたのですが、どうやら違うようですね!!
サンプルを書いてみました。
下記の DefineOnKey を実行するとOnKeyの設定ができます。よって、この状態で、Enterキーを押下すると"CALLするマクロ名"が実行されるようになります。要するに「Onkye設定はできている」状態です。
この状態で、Enterキーを押すと"CALLするマクロ名"が実行されますので、自分のやりたいことが出来ているか、その他の操作に不便はないかを確認してみて下さい。
ちなみに、この状態だと、No.2さんが云う通り、通常の操作に不便を感じると思うので、"ResetOnKey"を実行して、設定を解除することをお勧めします。
Sub DefineOnKey()
Application.OnKey "~", "CALLするマクロ名"
End Sub
Sub CALLするマクロ名()
MsgBox "マクロが実行されました。"
End Sub
Sub ResetOnKey()
Application.OnKey "~"
End Sub
改めましてご返答ありがとうございます!
早速やってみます!
お忙しい中でのご返答ありがとうございました(ヾ(´・ω・`)
なんとかやってみます!
No.2
- 回答日時:
こんにちは。
enterキーへのonkeyによるマクロ割当は現実的ではないですよ。入力に支障がでたり。
それを制御するイベントが用意されていませんから。
なので、そのような動作を実装するにはenter、exit、keydownイベントのあるuserformを利用することをオススメします。
No.1
- 回答日時:
>エンタキーをソースコマンドを登録マクロにいれればいいのでしょうか?
上記のことは実際にやってみたのでしょうか?
やってみた結果「実用的でない」と判断したから、この質問に至っていると信じているのですが、その場合、何がダメだったのかを具体的に書くべきです。その上で解決方法を質問した方が、回答は得やすいですよ。
「書くのが面倒くさい」というのであれば、それはそれで良いのですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Excel(エクセル) 【マクロ】マクロボタンをクリックしたら、セルに OK と表示される 3 2023/08/18 07:37
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- InternetExplorer(IE) お気に入りの「一覧」の表示 2 2022/11/21 13:59
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルで別のセルにあるふり...
-
エクセルの関数とマクロの区別
-
エクセル VBA実行中のApplicati...
-
オートフィルターとExcelマクロ...
-
エクセルのマクロについて教え...
-
アクセス マクロ クリップボ...
-
TERA TERMを隠す方法
-
EXCEL VBAでマクロの最後でFind...
-
エクセルマクロ 2行とびでAか...
-
エクセルに張り付けた写真のフ...
-
Excelマクロで元データを簡潔な...
-
マクロの一時停止機能について
-
WORD テキストボックスを全ペ...
-
インクルードガードの命名の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報
ご返答ありがとうございます。
実際に登録マクロに書いてみたのですが
作動しないのが結果でした。
実際に実用的にしたいのですが…
欲しい答えとしては
「登録」マクロに「エンターキー」を入れる
もしくは
「エンターキー」を押して「登録」マクロをcallするのか…
どちらもやってはみたのですが…
個別の作動はするのですが、実際に「B6」にカーソルを当ててエンターキーをおしてもだめだったので
なにかソースコードが足りなかったのかがしりたいです。
拙い文章で申し訳ありません。
よろしくお願いいたします
ご返答いただきます。
では実際に作動させるのではuserfomeで
表記を作って入力のほうが安全ということですね。
一度形を作って動作確認と
効率になるのか一度試してみたいとおもいます!
ありがとうございます!(´・ω・`)