Excel VBAで文字入力後の左矢印キーでセルを移動させないマクロ
Excel VBAで文字入力後の左矢印キーでセルを移動させないVBAマクロを作ってみました。
1.はじめに
先日「Excelで文字入力後の矢印キーでセルを移動させない方法」という記事をエントリーしましたが、VBAで同じようなことが実現できないか色々調べてみたところ、近い動作ができることが分かったのでマクロにしてみました。
2.各シートのコード
各ワークシートのコードに以下を追加します。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim result As Integer
result = Check_input_key(37)
If result = 1 Then
Range(Target.Address).Activate
SendKeys "{F2}"
End If
End Sub
3.標準モジュール
標準モジュールに下記の内容を追加します。
Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Integer
Function Check_input_key(key As Integer)
If GetAsyncKeyState(key) <> 0 Then
Check_input_key = 1
Else
Check_input_key = 0
End If
End Function
これでセルに文字を入力したあとで左矢印キーを押下すると、セル内でカーソルを移動することができるようになります。
厳密には1回目の左矢印キー押下ではカーソルは移動せず、2回目の左矢印キー押下でカーソルが移動します。
4.参考サイト
参考サイトは下記です。ありがとうございました。
Posted by yujiro このページの先頭に戻る
トラックバックURL
コメントする
greeting