- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで出した数字の分表示について)
VBAでの時間表示における問題
このQ&Aのポイント
- VBAを使用して時間を表示する際に、セルの書式設定でmm表示を使用すると、分の表示が正しくない場合があります。
- 例えば、9:32:26という時間が入力されている場合に、mm表示を使用すると01と表示されてしまいます。
- また、1900年の年数表示になってしまうこともあるようです。PCの設定が2014年であるにもかかわらず、原因は不明です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ちなみにセルに手書きで 12:34:56 と時:分:秒を記入し、そこにセルの書式設定の表示形式のユーザー定義で yyyy/m/d h:m:s と設定してみると、 1900/1/0 12:34:56 という表示が現れます。 また数字のゼロを記入したセルに年月日の表示形式を取り付けると、 1900/1/0 が現れます。 日付のデータを持たない時刻だけの数字は、この日付で計算されるエクセルのシクミになっています。 >mm表示で時間だけ表示しようとすると >例えば9:32:26だとしても01と表示されてしまいます。 mだけを使うと「月」のmと解釈されて、1月の1が表示されます。 これはエクセルの仕様上の制約です。回避する方法はありませんので、mを使って分だけを表示する事はできません。 hのあとのm、sの前のmだけが分を表示できます。 >VBAをつかって時間を出してセルの書式設定で >mm表示で時間だけ表示しよう とりあえずこんな具合で。 sub macro1() range("A1") = minute(now) application.ontime now + timeserial(0,0,1), "macro1" end sub
お礼
うまくいきました!いつも有難うございます!