2016-10-07 9 views
0

私は、特定のキーの組み合わせを入力すると、セルの値を1ずつインクリメントするマクロを作成しようとしています。私はこれのための解決策を見つけるためにかなり検索しましたが、答えは主にコマンドボタン(これは私が使用したいとは思っていません)を使ってやっているか、自分で実装しようとしたときに動作しなくなった。非常に基本的なExcel/VB:キーストローク(ボタンなし)で値を増やす方法はありますか?

私は最終的に私が欲しいものを得るためにRecord Macroを使う方法を考え出しましたが、私はそのコードを編集するために行くと実際にキーストロークにマクロをバインドする方法を示していません。未来のためにそれを正しく行う方法を知っている。

ここで私はそれがない動作していたコードです:

Sub IncTest2() 
    ActiveCell.Value = ActiveCell.Value + 1 
End Sub 

Sub KeyTest() 
    Application.OnKey "^a", "IncTest2" 
End Sub 

それは「コントロール+ A」を1でアクティブセルをインクリメントする必要がありますが、その代わり、それは、標準の「コントロール+」キーボードを行いますが、ショートカット。基本的な質問には申し訳ありませんが、基本的なように思えるので、それは私には分かりません。

+0

外観:http://stackoverflow.com/questions/9818047/excel-vba-assign-keyboard-shortcut-to-run-procedureそれは短いキーボードを割り当てる方法を説明します既存のマクロに切り取ります。 –

+1

Sub IncTest2()とExcel VBAのデフォルトプロシージャを公開しているので、マクロ - >マクロの表示をクリックしてマクロを選択し、オプションをクリックするとコードを記述せずにキーにキーをバインドします。 –

答えて

-1

これを試してみてください。 ThisWorkBookコードでは、以下のサブを追加します。

Sub Workbook_Activate() 
    Application.OnKey "^a", "IncrementByeOne" 
End Sub 

ThisWorkBookのモジュールで、以下のマクロを追加します。ここでは第二の答えで

Sub IncrementByeOne() 

    With ThisWorkbook.ActiveSheet 
     ActiveCell.Value = ActiveCell.Value + 1 
    End With 

End Sub 
+0

開封時にkeytestを実行しましたか? – Pierre

関連する問題