【EXCEL VBA】セルをアクティブ(入力できる状態)にする方法

訪問して頂きありがとうございます。まさふくろーです。

この記事では使用例を使って、セルをアクティブ(入力できる状態)にする方法をご紹介します。

使用例

  1. 「A3」セル(型番)がアクティブな状態

  2. 「次のセルへ」ボタンをクリック

  3. アクティブなセルを「C3」セル(単価)に移動する

 

「次のセルへ」ボタンをクリックするたびにアクティブなセルが移動します。

書式

セルをアクティブ(入力できる状態)にする。

Rangeオブジェクト.Activate

または、

Cellsプロパティ.Activate

ボタンの作成

「開発」タブの確認

リボンに「開発」タブが表示されているかの確認をします。

 

 

「開発」タブが表示されていない場合は、「開発タブの表示」をご覧ください。

ボタンの作成

①「開発」タブをクリック⇒②「挿入」をクリック⇒③「ボタン」をクリックします。

シート上にカーソルを移動し、ポインターを「+」の状態にします。

 

左クリックを押したまま、緑の矢印の方向にズルズルっとカーソルを移動します。

 

「マクロの登録」画面が表示されます。

 

①「マクロ名」を変更⇒②「新規作成」ボタンをクリックします。

 

ボタンの名前を変更する

エクセルのブックに戻り、ボタンの上にフォーカスを当てます。すると、ポインターが「」マークに切り替わります。

 

右クリックでショートカットメニューを表示し、「テキストの編集」を選択します。

 

ボタンの名前を変更します。

 

サンプルプログラム

VBAコードの入力

VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

3 現在のアクティブなセルの位置(行)取得用の変数を宣言
4 現在のアクティブなセルの位置(列)取得用の変数を宣言
5 アクティブセルの移動先(行)取得用の変数を宣言
6 アクティブセルの移動先(列)取得用の変数を宣言
8 現在のアクティブなセルの位置(行)を取得し、変数に格納
9 現在のアクティブなセルの位置(列)を取得し、変数に格納
12 現在のアクティブなセルの位置(行)が、3行目だった場合、
14~24 アクティブセルの移動先を「型番」⇒「単価」⇒「数量」⇒「割引率」となるように変数に格納。
「割引率」(5列目)に移動した場合、アクティブセルが次の行の「型番」に移動するように調整し、変数に格納。
49~51 5行目の「割引率」までセルが移動したら、3行目の「型番」の位置にセルが戻るように調整し、変数に格納。
54~56 まったく関係のない行にアクティブなセルが移動した場合は、最初の位置(「型番」の3行目)にセルの位置を戻すように調整し、変数に格納。
59 上記で格納した変数を元に、セルをアクティブにする。

VBAコードの保存

「ファイル」タブをクリックします。

 

 

「名前を付けて保存」を選択し、ファイル保存画面を起動します。

 

 

①ファイル名を入力⇒②「Excel マクロ有効ブック(*.xlsm)」を選択⇒③「保存」ボタンをクリックします。

 

最後まで読んでいただき、ありがとうございました!