セルに文字を入れたら、プログラムが実行される【VBA】

目次

経緯

VBAで「セルに文字を入れたら、日付が入力されるようにしたい」と思い、

今回勉強しました。

「Worksheet_Change」を使う

まず、プログラムを書く準備をします。

  1. Excelの開発タブから”Visual Basic”をクリック
  2. プロジェクトタブの”Sheet1″をダブルクリック

これでプログラムを書く準備ができました。

次にコードを書いていきます。イメージは「B列の1行目から100行目に何か文字を入力されると”日付入力”というプログラムが動くよ」ってイメージです。

Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("B1:B100")) Is Nothing Then
     Exit Sub
 else
     Call 日付入力
 end If
End Sub

プログラムの説明をします。

1行目、Workshee.Change イベントを使います。

2行目、IF文です。

セル”B1”から”B100”の範囲を指定して、その範囲だったら、4行目に飛びます。

その範囲じゃなかったら、3行目に進みます。

3行目、範囲外なので、プログラム終了です。

4行目、範囲内なので、こちらに進みます。

5行目、Callでモジュールで作った”日付入力”というプログラムを実行させます。

私の場合は”Call”を使って、プログラムを読んでいますが、ここに直接コードを書いても動きます。

6行目、IF文が終わり。

7行目、プログラム終わり。

こんな感じでうまくいきました。

参考になれば、幸いです。

ここまで読んでいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次