目次
経緯
VBAで「セルに文字を入れたら、日付が入力されるようにしたい」と思い、
今回勉強しました。
「Worksheet_Change」を使う
まず、プログラムを書く準備をします。
- Excelの開発タブから”Visual Basic”をクリック
- プロジェクトタブの”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行目、プログラム終わり。
こんな感じでうまくいきました。
参考になれば、幸いです。
ここまで読んでいただきありがとうございました。