【VBA】西暦表示、和暦、数値の3桁区切りにする方法

こんにちは!大阪市住之江区に拠点を置く会社『縁紡ぐ』の稲垣です。

当社は、Excel、ACCESS、RPAなどのシステム開発や既存ツールを使った業務効率化の提案、また、ITスキルアップのための教育に力を入れています。効率的なビジネス運営を目指している企業様、ITスキルの向上を図りたい企業や個人の方に、最適なご提案をさせていただきます。業務プロセスの改善とITスキルアップをサポートし、共に成長するパートナーでありたいと考えています。

業務効率化を目指しているあなたに、VBAを使った日付や数値の文字列フォーマットについて解説します。これを理解することで、データの見やすさや操作性が向上しますよ!

この記事のまとめ

VBAを使った西暦表示、和暦、数値の3桁区切りにする方法がわかるよ!

文字列のフォーマットって何かわからない…

縁紡ぐ

VBAでよく使うフォーマットを紹介するので、理解していこう!

本記事の内容を使って、VBAで業務効率化をぜひ実践してくださいね!

目次

日付のフォーマット

縁紡ぐ

まずは、日付からやってみよう!

日付のフォーマット

VBAでは、Format関数を使って日付を特定の形式に変換できます。例えば、Format(Date, "yyyy/mm/dd")とすることで、現在の日付を「2024/01/01」のように表示できます

Format関数を使うと、形式を変更できる

Sub test()
    Dim originalDate As String
    originalDate = "2024年11月14日"
    MsgBox "もともとの日付: " & originalDate & vbCrLf & _
           "フォーマット後: " & Format(DateValue(originalDate), "yyyy/mm/dd")
End Sub

和暦で表示したい場合

お客様

和暦にしたいときは、どうしたらいいの?

縁紡ぐ

和暦を使うことはあまりおすすめしないけど、和暦を使わないといけないことはおおいよね!
大丈夫できますよ!

和暦は、『ggge年m月d日』で表示できる

Sub Test()
    Dim originalDate As Date
    originalDate = DateValue("2024/11/14") ' まずは通常の日付として設定
    
    MsgBox "もともとの日付: " & Format(originalDate, "yyyy年mm月dd日") & vbCrLf & _
           "和暦での表示: " & Format(originalDate, "ggge年m月d日")
End Sub

数値のフォーマット

お客様

上司から、数字は3桁でカンマを入れるように言われた💦

縁紡ぐ

大丈夫!もちろんできるよ!

数値も同様に、Format関数を使います。例えば、もともとの数値が「1234567.89」の場合、以下のようにフォーマットできます。

Sub Test()
    Dim originalNumber As Double
    originalNumber = 1234567.89
    MsgBox "もともとの数値: " & originalNumber & vbCrLf & _
           "フォーマット後: " & Format(originalNumber, "#,##0.00")
End Sub

3桁区切りは、『”#,##0.00″』でできます!

縁紡ぐ

フォーマット関数は、他にもたくさんあるんだ!
Microsoftのページで探してみるのもいいよ!

あわせて読みたい
Format 関数 (Visual Basic for Applications) Office VBA 言語リファレンス

まとめ

VBAでの文字列フォーマットを使うことで、データがより見やすくなります。業務効率化を図るために、ぜひ活用してみてくださいね。

もし、VBAのカスタマイズや他の業務効率化に関するご相談があれば、お気軽にお問い合わせください。あなたの業務をさらにスムーズにするお手伝いをいたします。

記事を書いた人

稲垣

  • Excel、ACCESSでのシステム開発が得意
  • ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
  • 自家焙煎するほどのコーヒー好き
  • 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
  • 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
  • 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
  • お客様にとって本当に良いことかを第一に考える人
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次