くまおやぢの雑記帳

群馬県高崎市在住、50代のポジティブなだけが取り柄のオッサンが綴る雑記ブログ。人生は壮大な茶番劇、毎日を楽しく・おかしく・面白く。「命さえ取られなきゃ大丈夫」がモットー。金はないけど元気だけはあり余ってます。みなさまどうぞよろしくお願いします。

Excelで日付と曜日を一瞬で入力する方法|VBA マクロ

Excelで日付を入力する際、毎回カレンダーを確認して曜日を手入力していませんか?西暦や和暦の形式を切り替えたり、曜日をカッコで追加したりするのは意外と手間ですよね。特に同じフォーマットを何度も使う場合、その作業がわずらわしく感じることも。

そこで今回は、Excel初心者から中級者の方に向けて、日付と曜日を簡単に自動入力する方法をご紹介します。この方法を使えば、作業効率が格段にアップします。

手入力の煩わしさを解消しよう

手入力の問題点

カレンダーを確認する手間

日付を入力するたびに、その日が何曜日かカレンダーやスマホで確認する必要があります。

形式の統一が難しい

西暦や和暦、日付の区切り(スラッシュやハイフン)など、形式がバラバラになりがちです。

ミスの可能性

手入力だと誤入力やタイプミスが起こりやすく、後々のトラブルの原因になります。

書式設定で自動表示

ユーザー定義の書式設定

Excelの「セルの書式設定」でユーザー定義を使えば、日付を入力するだけで自動的に曜日を表示できます。

設定手順
  1. セルを選択:日付を入力したいセルまたは範囲を選択します。

  2. セルの書式設定を開く:選択したセル上で右クリックし、「セルの書式設定」を選択します。

  3. 表示形式を設定:

    • 「表示形式」タブで「ユーザー定義」を選択します。

    • 「種類」に以下の書式を入力します。

      • 西暦の場合:yyyy/mm/dd (aaa)

      • 和暦の場合:ggge年m月d日 (aaa)

  4. 完了:「OK」をクリックして設定を適用します。

効果
  • 自動で曜日を表示:日付を入力するだけで、対応する曜日が自動的に表示されます。

  • 形式の統一:指定したフォーマットで統一された表示が可能になります。

VBAでさらに効率アップ!

「書式設定も毎回設定するのは面倒...」そんな方には、VBA(マクロ)を使った方法がおすすめです。ボタン一つで日付と曜日を指定の形式で入力できるので、何度も同じ作業をする必要がある場合に最適です。

VBAコードの紹介

以下のコードを使うことで、入力ダイアログから日付を入力し、アクティブなセルに自動で表示します。

Sub 日付指定曜日自動入力()
    Dim Dans As String
    Dans = InputBox("記入例>2024/12/11", "返信希望日を入力")
    ActiveCell.Value = Format(Dans, "ggge年m月d日(aaa)")
End Sub

コードのポイント

  • InputBox:ユーザーに日付を入力してもらうダイアログを表示します。

  • Format関数:入力された日付を指定の形式で整形します。

    • "ggge年m月d日(aaa)" は、和暦と曜日を含むフォーマットです。

  • ActiveCell:現在選択されているセルに値を入力します。

実際の使い方

  1. VBAエディターを開く:

    • Excelで「Alt + F11」を押してVBAエディターを開きます。

  2. モジュールを挿入:

    • 「挿入」→「標準モジュール」を選択します。

  3. コードを貼り付け:

    • 上記のVBAコードをコピーし、モジュールに貼り付けます。

  4. マクロを実行:

    • Excelに戻り、「開発」タブから「マクロ」を選択。

    • 「日付指定曜日自動入力」を選び、「実行」をクリックします。

  5. 日付を入力:

    • 表示されたダイアログに日付を入力します(例:2024/12/11)。

  6. 結果を確認:

    • アクティブなセルに、指定した形式で日付と曜日が表示されます(例:令和6年12月11日(水))。

カスタマイズ方法

  • 表示形式を変更:

    • "ggge年m月d日(aaa)" の部分を変更すれば、お好みのフォーマットにできます。

      • 例:"yyyy年m月d日(aaa)" とすれば西暦表示になります。

  • セルの指定:

    • ActiveCellRange("A1") のように変更すれば、特定のセルに出力できます。

この方法のメリット

  • 作業時間の短縮:手入力や書式設定の手間を省けます。

  • ミスの削減:曜日の入力ミスやフォーマットのブレを防ぎます。

  • カスタマイズ性:自分の用途に合わせてコードや表示形式を変更できます。

まとめ

日付と曜日の入力がこれまでより格段に簡単になりましたね!VBAを使えば、繰り返しの作業もボタン一つで済ませることができます。Excelの機能を活用して、日々の業務を効率化しましょう。

ぜひ、この方法を試してみてください。きっと作業効率がアップするはずです!あなたのExcel作業をもっと快適に。小さな工夫で大きな効果を実感してください。