- ベストアンサー
EXCEL VBA マクロ値 のコピーについて
マクロの初心者です。EXCEL VBA でタイマーマクロを作成し、結果の値を他ファイルの EXCELシートに貼り付けようとしたところ、2012/9/30 13:38が2008/9/29 13:38となり、-0:08:53が-0.00616898148・・・・となり、真値がコピーできません。どなたか教えていただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> (1)Mac用のEXCELとの互換設定とはどういうものでしょうか? > (2)セルの書式設定で、種類として[13:30:55]型を指定しているのですがどうしても どちらも、シルアル値に関する項目です。 参考URL(MicrosoftさんのWebページ) Excel の 1900 年を基準とした日付方式と 1904 年を基準とした日付方式の違いについて を参照してください。 時刻に関する部分ですが、「日付のシルアル値が1増えると一日増える」とは、 「24時間を1とする」ということです。 0:00:00は0ですが23:59:59は限りなく1に近い小数です。 正午(12時)を設定すると、小数部が0.5となることで確認できると思います。 ※6時は0.25、18時は0.75 (2)ですが、表示したい値は年月日時分秒ですよね? yyyy/mm/dd hh:mm:ssを設定してください。 [13:30:55]型では書式を時刻と解釈できずに、値がそのまま表示されてしまいます。
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
どちらか、Mac用のEXCELとの互換用設定してませんか? 「1904 年から計算する」にチェックが入っていそう。 時刻が小数になるのは、シリアル値であるので正しい状態です。 書式を合わせてコピーしてください。
補足
早々のご回答誠にありがとうございます。 ところで、 (1)Mac用のEXCELとの互換設定とはどういうものでしょうか? (2)セルの書式設定で、種類として[13:30:55]型を指定しているのですがどうしても質問事項のごとく変換されてしまいます。 お手数おかけします。教えていただけないでしょうか?
お礼
ありがとうございました。Windows Vistaなので、Officeボタンから、Excelのオプション、詳細設定、1904年から計算する、にチェックしてOkをクリックしたところ2012/9/30問題も、シリアル値問題も一発で解決しました。納期がなくて困っていたところです。本当にありがとうございました。bin-chan様、今後ともよろしくお願いします。