- ベストアンサー
TEXT関数 : 表示形式に関して(桁数の指定)
下記のようなTEXT関数を使って、ファイル作成時の時間を返すようにしているのですが、作成時間が08:30の場合、8:30としか値が返されません。時、分ともに2桁で表示をしなくてはなりません。 TEXT(HOUR(NOW()),""00"")&TEXT(MINUTE(NOW()),""00"") 作成時間;08:30の場合 正;08:30 誤;8:30 作成時間が12:10の場合、値は"1210"とそれぞれ2桁の値が返されます。 表示形式の設定にもう一工夫必要なのでしょうか。 アドバイスを宜しくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No2-3です。 > VBAでtext関数を使用した場合の質問をしていました VBAならTEXT関数ではなくFormat関数になります。 たとえばメッセージボックスに表示するなら、 MsgBox Format(Now(), "HH:MM") です。
その他の回答 (4)
- gyouda1114
- ベストアンサー率37% (499/1320)
違うかな? Excelでの表示方法であれば 今の時間を表示する方法 方法1 =TEXT(HOUR(NOW()),"00")&":"&TEXT(MINUTE((NOW())),"00") で8:30=08:30と表示されます。 方法2 =NOW()と入力 セルの書式設定 → 表示形式 → ユーザー定義 → 種類にhh:mm ただし、上記の2つの方法は、時間の経過とともにそのときの時刻に更新されます。 更新されない方法で作成時刻を入力する方法 1.セルの書式設定 → 表示形式 → ユーザー定義 → 種類にhh:mm 2.そのセルをアクティブにし Ctrlキー+: 以上 Excelのことでなければスルーしてください
- merlionXX
- ベストアンサー率48% (1930/4007)
No2です。 =TEXT(HOUR(A1),"00")&":"&TEXT(MINUTE(A1),"00") はA1に時刻が入っている場合でした。 NOW()を使うなら =TEXT(HOUR(NOW()),"00")&":"&TEXT(MINUTE(NOW()),"00") ですね。失礼しました。
お礼
早速のアドバイスどうもありがとうございます。 肝心なことを記載し忘れていましたが、excel上での関数ではなく、VBAでtext関数を使用した場合の質問をしていました。 VBA上でも、関数と関数の間に、":"などを入力したほうが良いのでしょうか。
- merlionXX
- ベストアンサー率48% (1930/4007)
普通は =TEXT(NOW(),"hh:mm") とすると思いますが、お書きの式なら、 =TEXT(HOUR(A1),"00")&":"&TEXT(MINUTE(A1),"00") としたらどうでしょうか?
- hallo-2007
- ベストアンサー率41% (888/2115)
単に =TEXT(NOW(),"hh:mm") ではダメ?
お礼
早速のアドバイスどうもありがとうございます。 肝心なことを記載し忘れていましたが、excel上での関数ではなく、VBAでtext関数を使用した場合の質問をしています。 上記のような桁数ではなく、書式を設定する方法もあるのですね。 勉強になりました。 ですがVBA上で、ご提案頂いた式に早速挑戦してみましたが、エラーとなってしまいます。VBAだと少し構造が異なりますか。
お礼
ご回答どうもありがとうございました。 教えて頂いた方法を挑戦してましたが、やはり時間が2桁で表示させることができませんでした。 値を返すセルに書式設定もしていないので、2桁で表示するができないのは疑問が残るばかりです。。。(:_;) ですが、新しい方法をいくつも勉強できました。 どうもありがとうございます。