Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3 / 12962 ツリー ←次へ | 前へ→

【78938】OnKeyでAltを含むKeyを割り当てたい M.E 17/3/11(土) 15:05 質問[未読]
【78939】Re:OnKeyでAltを含むKeyを割り当てたい γ 17/3/11(土) 16:21 発言[未読]
【78940】Re:OnKeyでAltを含むKeyを割り当てたい M.E 17/3/11(土) 16:49 発言[未読]
【78941】Re:OnKeyでAltを含むKeyを割り当てたい γ 17/3/11(土) 17:31 発言[未読]
【78942】Re:OnKeyでAltを含むKeyを割り当てたい M.E 17/3/11(土) 17:48 お礼[未読]
【78943】Re:OnKeyでAltを含むKeyを割り当てたい γ 17/3/11(土) 18:01 発言[未読]
【78944】Re:OnKeyでAltを含むKeyを割り当てたい M.E 17/3/13(月) 23:05 お礼[未読]
【78945】Re:OnKeyでAltを含むKeyを割り当てたい γ 17/3/14(火) 4:16 回答[未読]
【78965】Re:OnKeyでAltを含むKeyを割り当てたい M.E 17/3/16(木) 0:39 お礼[未読]

【78938】OnKeyでAltを含むKeyを割り当てたい
質問  M.E  - 17/3/11(土) 15:05 -

引用なし
パスワード
   お世話になっております。
78931:セル内の文字の一部の色を変えたい
の質問をさせていただきました、M.Eです。

アドバイスを頂いたおかげで、何とかマクロを組むことが出来ました。

Sub Sample2()

・いずれかのセルにAABBCCDDAABBCCDDAABBCCDDが入力されているとします。
・マクロを実行するとInPut Boxが表示されます。
・例えばCDと入力します。
・AABBCCDDAABBCCDDAABBCCDDのCDの3か所を赤色に変えることが出来ました。

ご助力、ありがとうございました。

ここからが質問なのですが、

このSub Sample2()をショートカットキー:Altとfで呼び出せるようにしたく、
手前にSub Sample1()のマクロを付け加えました。

ところが、これを押すと、"情報"の画面に飛んでしまいます。
また、根本的な勘違いやおかしなことをしているのではないかと思い
投稿させていただきました。

いつもながら恐縮ですが、
ご助言・ご助力を承れれば幸いに存じます。

よろしくお願い申し上げます。


Sub Sample1()

  Application.OnKey "%{f}", "Sample2"

End Sub


Sub Sample2()


Dim buf As String, msg As String
Dim start As Integer


  msg = "配列を入力してください。"
  buf = InputBox(msg)
  If buf = "" Then
  Exit Sub
  End If
  
  
  start = 1

  
  While InStr(start, ActiveCell, buf) >= 1
  
    start = InStr(start, ActiveCell, buf)
    ActiveCell.Characters(start, Len(buf)).Font.ColorIndex = 3
    start = start + Len(buf)
  
  Wend

【78939】Re:OnKeyでAltを含むKeyを割り当てたい
発言  γ  - 17/3/11(土) 16:21 -

引用なし
パスワード
   ALT系はデフォルトが優先されるようですから
Ctrl系を使ってみてはどうですか?

【78940】Re:OnKeyでAltを含むKeyを割り当てたい
発言  M.E  - 17/3/11(土) 16:49 -

引用なし
パスワード
   γ様
いつも、アドバイスを頂き、ありがとうございます。
Sb Sample1()を以下へ書き換えて
ctrl mを試みてみてのですが、
やっぱり開きません。


Sub Sample1()

  Application.OnKey "^m", "Sample2"

End Sub


どこかで設定を変えるか何かが必要なのでしょうか・
そもそも、私の記述は、合っているのでしょうか?

お気づきの点等ございましたら、ご教示いただければ幸いに存じます。

M.E

以下でctrl+mの設定はできるのですが・・・
Excel「開発」タブ>「マクロ」メニュー>オプション

【78941】Re:OnKeyでAltを含むKeyを割り当てたい
発言  γ  - 17/3/11(土) 17:31 -

引用なし
パスワード
   標準モジュールに下記を貼り付け、
Sample1を実行してから、
Ctrl+m をやってみてください。
当方では正常に動作します。

Sub Sample1()
  Application.OnKey "^m", "Sample2"
End Sub

Sub sample2()
  MsgBox "OKですよ"
End Sub

【78942】Re:OnKeyでAltを含むKeyを割り当てたい
お礼  M.E  - 17/3/11(土) 17:48 -

引用なし
パスワード
   γ様
早速のご回答、ありがとうございます。
アドバイスのごとく、コピーしてctrl+mを押してみたのですが、
やはり、動きません。

マクロの記述方法ではなく、別に問題があるようです。
月曜日に会社へ行って、会社のPCで試してみます。

いつもご助力いただき、ありがとうございます。

M.E

【78943】Re:OnKeyでAltを含むKeyを割り当てたい
発言  γ  - 17/3/11(土) 18:01 -

引用なし
パスワード
   ▼M.E さん:
>γ様
>早速のご回答、ありがとうございます。
>アドバイスのごとく、コピーしてctrl+mを押してみたのですが、
>やはり、動きません。

sample1を実行していないように読めるのですが。

【78944】Re:OnKeyでAltを含むKeyを割り当てたい
お礼  M.E  - 17/3/13(月) 23:05 -

引用なし
パスワード
   γ様

いつもご助言いただき、ありがとうございます。

>sample1を実行していないように読めるのですが。

意味を理解しました。
まず、sample1が動いている状態にしなければいけないのですね。
sample1を実行してからctrl+mを押したら、動きました。
(そりゃそうですよね。お恥ずかしい限りです。)

・・・と言うことは、エクセル起動と同時にsample1が動くように
設定する必要があるということですよね。

・・・まず、自分で調べてみます。

行き詰ったら、また質問させてください。

今後とも、よろしくお願い申し上げます。

M.E

【78945】Re:OnKeyでAltを含むKeyを割り当てたい
回答  γ  - 17/3/14(火) 4:16 -

引用なし
パスワード
   動いている状態にする・・・?
sample1の処理は、
キーコンビネーションと動作の対応表を
変更する、一回限りの処理です。
この表に従って動作するのはExcel側の担当です。

このようなプロパティの変更処理は、
Bookを開いた時のイベントプロシージャに登録して
置くのが良いでしょう。閉じる時に元に戻す。

薄くて良いですから、VBAに関するテキストを購入して、
通読することをお勧めします。
基本となる話を発見し続けるのは非効率ですから。

【78965】Re:OnKeyでAltを含むKeyを割り当てたい
お礼  M.E  - 17/3/16(木) 0:39 -

引用なし
パスワード
   γ様

お世話になっております。
やっと、問題なくKeyを割り当てることが出来ました。

今まで、VBAは主にFunctionプロシージャーでユーザー関数を作ることに使用しておりましたが、最近 Subプロシージャーも少しずつ組むようになってまいりました。
改めて、VBAの入門書を読み返してみようと思います。

様々、ご教示いただき、
ありがとうございます。

3 / 12962 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free