[[20030911094158]] 『年月日表示を揃えたい』(みど) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『年月日表示を揃えたい』(みど)

西暦で日付を表示する時、1桁の月(日)と2桁の月(日)を、揃えることは出来ますか?

 2002/12/12
 2003/ 9/ 9
という風にです。
 2003/09/09
は、使いたくないのですが、表示形式では、[?]を使えないようで、うまく行きません。簡単な方法があれば、何方か教えてください。


 ちょうど私がシェアウエアにアップロードするつもりで
 準備しているものがあります。


 ユーザー関数を使った事はありますか?
(kazu)


ユーザー関数は、使ったことがありません。初心者なので、あまり難しいことは出来ないと思いますが、教えてもらえれば、チャレンジしてみます。(みど)


 (1)[関数・ユーザー関数入門]
https://www.excel.studio-kazu.jp/tips/0501/
 を見て、ユーザー関数の作り方を理解します。

 (2)下のコードを選択して、コピーして標準モジュールに貼り付けてください。

 (3)日付が入っているセルがA1だとすると、ワークシートの方で =Uymd2(A1) と
   入力します。

 (4)関数を入力したセルを選択して、FontをMS-ゴシックに変更します。

 (kazu)

 Function Uymd2(ymd)
     fmty = "yyyy"
     fmtm = "m/"
     fmtd = "d"
     fmt = "yyyy/"
     If Month(ymd) > 9 Then
         fmt = fmt & fmtm
     Else
         fmt = fmt & " " & fmtm
     End If
     If Day(ymd) > 9 Then
         fmt = fmt & fmtd
     Else
         fmt = fmt & " " & fmtd
     End If
     Uymd2 = Format(ymd, fmt)
 End Function


ありがとうございます。何とかできました。勉強になりました。
ただ、関数だとセルが2ついるので、書式設定上で出来ないでしょうか。(みど)


 そういう希望もあるだろうと、予想はしていました。

 セルに直接入力したければ =Uymd2("2003/9/11") でできますヨ。

 (kazu)


う〜ん、確かに出来ましたが、希望としては、単純に、[9/11]と入力したら、[2003/ 9/11]と表示されるとか、ドラッグしてコピーすると、[2003/ 9/11][2003/ 9/12][2003/ 9/13]・・・となるようにしたいのですが、我儘でしょうか。(みど)

 b1に =Uymd2("2003/9/11")  が入っているとして
 b2に =Uymd2(b1+1) で下にドラッグ
 これでどうでしょうか。   (jun53)


ありがとうございました。コピーはうまく行きました。基本的に望んだ表示は出来ましたので、後は使い勝手ですので、いろいろやってみます。(みど)


 [jun53]さんアドバイスありがとうございました。
 [みど]さんも実験台になっていただきありがとうございました。

 シェアウエアにするにはまだ課題があります、
 手動でFontを等幅のものに設定しなければならないことで、
 Functionではプロパティは変更できないのです。
(kazu)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.