エクセル雑感
エクセルの日付のお話

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2013年5月以前 最終更新日:2013-09-05

エクセルの日付のお話


エクセルでの日付の扱いは特別です。


では、エクセルでの日付についてのお話です。



エクセルでの日付は1900/1/1を1として、そこからの日数になっています。


通常、私もこのように説明するのですが、実は、ちょっとからくりがあります。


VBAでは1899/12/31が1になっているのです。


1日ずれています。えっ、て思いますか、



1900年はうるう年ではないらしいのですが(らしいってw)、


1900/1/1から連続データを作成すると、なぜかワークシート上では、1900/2/29が表示されます。


でも、VBAで1日ずつ足していくと、1900/2/28の次は1900/3/1になります。



つまり1900/3/1より前ではシートとVBAでは1日のずれがあるのです。


逆に言えば1900/3/1以降は一致しています。


ですから通常は問題なく使えています。


そもそもなぜそのようになったのか、MSも色々説明しているようですが、言い訳にしか聞こえないw。



つまりシートでは1900/1/1から始まり、VBAでは1899/12/31から始まります。


そして、シートでは1900/2/29が1日余分に存在しているので、その後は一致すると言う事になります。


ちょっと無理やりってかんじですよね。



ですから、1900年代のデータを扱うときは気を付ける必要があります。


でもそんな年代のデータってどんなデータなんでしょうね。


私は扱った事はありません。


誕生日ってことはないですよね、日本最高齢を超えてますから。


あっ、戸籍上ではもっと高齢の人がいたんでしたねw。



エクセルでの書式設定については、「日付、時刻に関するあれこれ 」をご覧下さい。




同じテーマ「エクセル雑感」の記事

エクセルのマクロで何ができるか?

エクセルでは、マクロを使えば、色々な事ができます。自動転記、自動集計… 大量データの処理、手作業なら数時間かかる処理も、数秒で処理できてしまいます。もちろん、単なる事務の合理化だけでなく、本格的な、業務システムも作成可能です。
プログラミングについて
プログラミングをしていると、時に「開けゴマ」みたいなのにぶつかる。確かに扉はひらくのだが、「いったいこれは何だ、特にゴマって何だ」となる。危険のない命令なら別に知らなくても良いだろうが、多少でも危険性のある場合はそんな訳にはいかない。
エクセルの日付のお話
素直なプログラミング
プログラムを作る場合、「可読性」「保守性」等々に気を配る必要がありますが、まずは、素直なコードを書くことでしょう。テクニックに走ったりせず、頭に浮かんだ事をそのままコーディングしていく事も重要です。頭に浮かんだ事が、今の自分のスキルレベルなのですが、スキルが上がれば、頭に浮かぶ事も、少しずつ変化してきます。
IF文の整理と論理的思考
論理的思考でIf文を整理することについて、簡単な例で解説していきます。無駄な条件が入っていたり、条件が重複しているプログラム程理解しずらい物はありません。問題です。以下のマクロについて、気が付いたことを指摘して下さい。
エクセルVBAを覚えるには
エクセルのマクロ(VBA)を覚えるには、何が必要か… マクロで何ができるのか、そして、マクロで何を自動化したいのか、そのイメージをしっかりと持つことです。VBAの本を買ってきて、1ページ目から読み始めたとしたら… ほぼ確実に、途中で挫折すると思います。
EXCELマクロを始める時、まず最初にやるべきことは
EXCELマクロを始める時、まず最初にやるべきことは何か 入門書により、いろいろな事がかいてあるかもしれませんが、まず最初にやるべき事は、2007以降なら、「開発」タブを表示する事。そして、VBE(VisualBasicEditor)のオプション変更です。
Excelマクロを書くと言う事は
マクロを書くという事だけを考えれば、英作文に似ています。日本語を英語にする、マクロの場合はVBAコードにすると言う事です。英語もそうですが、マクロでも、この作業を覚えるには、それなりの勉強が必要です。
もしエクセルにマクロ機能がなかったら
私は、Excel4のころからエクセルを使っていますが、もし、エクセルにマクロ機能がなかったら… もし、マクロがVB言語でなかったら… 恐らく、エクセルはここまでは普及しなかったでしょう。マクロVBAあってのエクセルだと思っています。そのマクロ機能を使わないと言う事は、エクセルの機能の半分を使っていない事と同じです。
物事には守るべき順序があります。エクセルにも順序があります。
何をやるにも守るべき事と順序というものがあります。例えば、PCにソフトをインストールする場合は、他のソフトは全て止める。そして、インストール後は、PCを再起動する。ごく小さいソフトで、OSに対して影響のないソフトの場合は、再起動しなくても良いですが。
Excelマクロ実行時のトラブル対処方法
マクロ実行時には、いろいろなトラブルが起こります。マクロを実行後に、あっ、しまった… と思ったら、まずはEscキーを押して、マクロを止めましょう。Ctrl+Pause(Break)でもよいです。被害は最小限に食い止めましょう。


新着記事NEW ・・・新着記事一覧を見る

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ