Excel VBA質問箱 IV

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

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


11583 / 13646 ツリー ←次へ | 前へ→

【15314】キーコードの定数を使用するには Excel大好きちゃん 04/6/21(月) 13:48 質問[未読]
【15315】Re:キーコードの定数を使用するには IROC 04/6/21(月) 15:17 回答[未読]
【15318】Re:キーコードの定数を使用するには Excel大好きちゃん 04/6/21(月) 16:12 質問[未読]
【15320】Re:キーコードの定数を使用するには Excel大好きちゃん 04/6/21(月) 16:45 お礼[未読]

【15314】キーコードの定数を使用するには
質問  Excel大好きちゃん  - 04/6/21(月) 13:48 -

引用なし
パスワード
   皆様、こんにちはー
教えて下さーい。(^^♪

VBAのコードの中で、キーコードの定数を記述して
そのキーが実行されたのと同じアクションを
させることがしたいのですが、可能でしょうか?
例えば、Ctrl+Homeを押したのと同じことを
コードの中でvbKeyControl+vbKeyHome とか
記述して使いたいんです。

よろしくお願い致します。

【15315】Re:キーコードの定数を使用するには
回答  IROC  - 04/6/21(月) 15:17 -

引用なし
パスワード
   Sendkeys メソッドを試しては如何でしょうか?

【15318】Re:キーコードの定数を使用するには
質問  Excel大好きちゃん  - 04/6/21(月) 16:12 -

引用なし
パスワード
   ▼IROC さん:
>Sendkeys メソッドを試しては如何でしょうか?

お返事、ありがとうございます。(^^♪

早速やってみたんですが、うまくいきません。(+_+)
キーがうまく実行されていないようなんです。
わたしのコードは、以前頂いたものに改良を加えた

Sub 全シートをHOMEポジションに()
  Dim ws As Variant
cnt = 0
  For Each ws In Worksheets
    If Sheets(ws.Name).Visible = True Then '表示されているシート
      Sheets(ws.Name).Select
      SendKeys ("^{HOME}") ' →今回加えたコード
'      Range("A1").Select →これまでのコード
      cnt = cnt + 1
      If cnt = 1 Then sname = Sheets(ws.Name).Name
    End If
  Next
  Sheets(sname).Select
End Sub

なんですが、Range("A1").Select だと、ウインドウ枠の固定をした
シートに対しては、Ctrl+Homeキー実行の結果と違いますので
これを改善したいと思いました。

【15320】Re:キーコードの定数を使用するには
お礼  Excel大好きちゃん  - 04/6/21(月) 16:45 -

引用なし
パスワード
   自己レスでっす。!(^^)!
うまくいきましたー

▼Excel大好きちゃん さん:
>▼IROC さん:
>>Sendkeys メソッドを試しては如何でしょうか?
>
>お返事、ありがとうございます。(^^♪
>
>早速やってみたんですが、うまくいきません。(+_+)
>キーがうまく実行されていないようなんです。
>わたしのコードは、以前頂いたものに改良を加えた
>
>Sub 全シートをHOMEポジションに()
>  Dim ws As Variant
>cnt = 0
>  For Each ws In Worksheets
>    If Sheets(ws.Name).Visible = True Then '表示されているシート
>      Sheets(ws.Name).Select
>      SendKeys ("^{HOME}") ' →今回加えたコード
>'      Range("A1").Select →これまでのコード
>      cnt = cnt + 1
>      If cnt = 1 Then sname = Sheets(ws.Name).Name
>    End If
>  Next
>  Sheets(sname).Select
>End Sub
>
>なんですが、Range("A1").Select だと、ウインドウ枠の固定をした
>シートに対しては、Ctrl+Homeキー実行の結果と違いますので
>これを改善したいと思いました。

SendKeys "^{HOME}", Trueに変更してみたら
できるようになりました。
お騒がせしました。 (^^♪

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