日付の自動フォーマットの制御(Microsoft Excel)
テッドが月と日だけの日付、つまり4/5を入力すると、日付は4月5日と表示され、数値の形式はカスタムです。ただし、彼が4/5/18と入力すると、日付は4/5/2018と表示され、数値の形式は日付です。テッドは、入力する前にセルを日付にフォーマットする必要なしに、4/5のみを入力したときに、2018年4月5日にフォーマットする日付を取得する方法を考えています。言い換えれば、彼は日付をカスタムではなく日付にデフォルト設定することを望んでいます。
Excel内でこれを行う方法はありません。この場合、Excelは、解析プロセスの一部として、日付の入力方法に基づいて、意図したと思われる日付形式を選択します。別の日付形式を使用する場合は、列(またはセル)を明示的にフォーマットする必要があります
日付を入力する前に必要な日付形式を使用するか、日付を入力した後に列(またはセル)を明示的にフォーマットする必要があります。
マクロベースのソリューションが1つありますが、それは少しやり過ぎかもしれません。このイベントハンドラーをワークシートのコードウィンドウに追加するだけです。 (ワークシートタブを右クリックし、表示されるコンテキストメニューから[コードの表示]を選択します。この短いマクロをコードウィンドウに貼り付けて、表示されます。)
Private Sub Worksheet_Change(ByVal Target As Range) If IsDate(Target) Then Target.NumberFormat = "m/d/yyyy" End If End Sub
マクロは、セルに入力されたものをすべてチェックし、それが日付であると判断された場合(IsDate関数の目的)、目的の日付形式がセルに適用されます。
明らかに、ワークブックをマクロ対応のワークブックとして保存する必要があるため、これは少しやり過ぎかもしれないと述べました。ただし、これがワークブックの使用に問題がない場合は、日付形式のニーズを解決できる可能性があります。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(13553)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。