【マクロVBA練習問題3】セル番地・変数に現在の日付を表示・格納する

マクロVBA練習問題




練習問題と内容について

・練習問題の狙い

このシリーズでは課題を元にマクロVBAで実践することでスキルを身につける狙いです。

正直、ソースコード作成については実践あるのみです!

答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば

問い合わせから連絡ください!

 

こんな問題を作ってほしいなどの意見もお待ちしております!

 

・練習問題3について

こちらはマクロVBAの初歩的な知識になります。

セル番地に現在の日付を表示となります。
それでは頑張っていきましょう!

練習問題の内容と動作説明

問題内容

セル番地C1に現在の日付を表示する。

動作説明

VBAを使用して、現在の日付を取得し、それをセル番地C1に表示します。
具体的には、VBAの組み込み関数であるDateを使用して現在の日付を取得し、その値をセル番地C1に表示する必要があります。

 

ヒント


この問題では、現在の日付を取得し、それをセルに表示する必要があります。
以下のヒントを参考にして解答コードを作成してみてください。

・ヒントその1

現在の日付を取得するには、Date関数を使用します。
Date関数は、システムの現在の日付を返します。

・ヒントその2

セルに値を表示するためには、Rangeオブジェクトを使用します。
セル番地を指定して該当するセルオブジェクトを取得し、Valueプロパティを使用して値を設定します。

・ヒントその3   (参考)

日付の値をセルに表示する場合、VBAの日付形式を適用すると見やすくなります。
NumberFormatプロパティを使用してセルの書式設定を行うことができます。

 

これらのヒントを参考にして、解答コードを作成してみてください。

 

最新・便利な機能を搭載したExcel・officeを試しませんか?
Excel 2013以下を使用している方はサポートが終了しているので注意が必要です!
【最新2023年】Excel・Officeの価格比較!あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)
 

 

解答コード

では回答を見ていきましょう!

・回答その①

Sub Exercise3to1()
 Range(“C1”).Value Date
 Range(“C1”).NumberFormat = “yyyy/mm/dd”
End Sub

上記のコードは、現在の日付を取得し、それをセル番地C1に表示するVBAのマクロです。

解答コードでは、Range(“C1”).Value = Dateという行で、
Date関数を使用して現在の日付を取得し、セル番地C1にその値を表示しています。

現在の日付を格納したいセル・変数=Date

また、Range(“C1”).NumberFormat = “yyyy/mm/dd“という行で、セルの書式設定を行っています。
ここでは、日付の形式を「年/月/日」の形に指定していますが、必要に応じて適切な書式を選択してください。

・回答その②

Sub Exercise3to2()
 Dim currentDate As Date

 currentDate = Date
 Cells(1, 3).Value = Format(currentDate, “yyyy/mm/dd”)
End Sub

上記のコードでは、Date関数を使用して現在の日付を取得し、変数currentDateに格納しています。
その後、Cells(1, 3).Valueを使用してセル番地C1にcurrentDateの値を表示しています。

Format関数を使って日付の書式を設定していますが、必要に応じて適切な書式を指定してください。

この回答例では、Cellsオブジェクトを使用してセルにアクセスしています。
Cellsオブジェクトは、行番号と列番号を指定してセルにアクセスする際に使用します。

 


必要な知識

この問題を解くためには、以下の基本的な知識が必要です。

日付の取得

現在の日付を取得するためには、VBAの組み込み関数であるDateを使用します。
この関数は、システムの現在の日付を返します。

セルへの値の設定

セルに対する操作を行うためには、RangeオブジェクトやCellsオブジェクトを使います。
特定のセルに値を入力するには、RangeオブジェクトのValueプロパティを使用します。

下記参考記事で紹介しています!

日付の書式設定 (※参考)

セルに表示する日付の書式を設定することで、見た目を調整することができます。
NumberFormatプロパティを使用してセルの書式設定を行います。

これらの知識を応用して、問題を解くためのコードを作成しましょう。

まとめ

この練習問題では、VBAを使用してセルに現在の日付を表示する方法を学びました。

解答コードでは、Date関数を使用して現在の日付を取得し、Range(“C1”)やCells(1, 3)を使用してセル番地C1にその値を表示しました。
さらに、日付の書式を設定するためにNumberFormatプロパティを使用しました。

VBAを使うことで、Excelでの日付の自動表示や書式設定を簡単に行うことができます。
これは、日報やスケジュール管理など、日付情報を扱う作業において非常に役立つスキルです。

練習問題を通じてVBAの基礎的な知識を学び、実際の問題に応用してみてください。
これにより、Excelの操作を自動化し、効率的にタスクを処理することができるようになります。

次の練習問題では、さらに難易度の高い問題に取り組んでいきますので、
順番に解いていくことでスキルを磨いていきましょう。

以上で練習問題3となります。お疲れ様でした!