• ベストアンサー

Excel vba 日付の形式判定

Excelに日付、開始時間の列があります。 セルの形式をチェックしたいのですが、形式が下記のとおりであるか どう記述すればいいのでしょうか? 日付チェックはisdate関数を使いますが、日付の形式がyyyy/mm/dd、時間の形式がhh:mmであるかの 判定方法を教えてほしいです。 例) 日付    時間  2021/05/01 10:00  H33/05/01   ← yyyy/mm/dd形式でない為、NG   10時00分 ← hh:mm形式でない為、NG 

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1579/2414)
回答No.1

たとえばA1としたら Range("A1").NumberFormatLocal で取得できます。

chiroru0705
質問者

補足

早々にお返事いただきありがとうございます。 無事解決に至りました。

関連するQ&A

  • EXCEL 日付の入力形式

    こんにちは。 日付が、dd/mm/yyyyの形式で入力されたデータをもらいました。 関数を利用したいのでEXCELに日付として認識させたいのですが、 セルの書式設定で設定してもだめなようです。 質問 1)yyyy/mm/ddの形式で入力されていないと日付として認識されないのでしょうか? 2)現在の形式のまま、日付として認識させる方法はありますか? 3)dd/mm/yyyyをyyyy/mm/ddに変換する方法はありますか? 以上、よろしくお願いします。

  • ACCESSの日付形式

    テーブルに日付形式のフィールドがあり、エクスポートすると、形式がyyyy/mm/dd hh:mm:ddになってしまいます。 yyyy/mm/dd形式でエクスポートするには、どのようにしたらよいでしょうか。 VBAのDocmd.TransferTextで行いたいと思います ちなみにAccess97です。 よろしくお願いします

  • VBA:日付をシリアル値にできるの関数教えてください。

    VBAにより、あるセルに"yyyy / mm / dd hh:mm:ss"のフォーマットで日付を記入しました。それを手動で書式を標準にすると例えばシリアル値38148.4768981481になります。これをVBA上でできる関数を知りたいです。つまり、日付をシリアル値にできるVBAの関数を教えて頂きたいです。宜しくお願いいたします。

  • エクセルで日付、時間表示

    お世話になります。エクセル2000を使っています。 セルの書式設定-ユーザー定義で以下の条件で表示させたいのですが・・・・ 日付データとして、日付のみのものと、時間も入っているデータを、 日付のみのものは日付のみの表示に、 時間も入っているものは日付と時間を表示する。 具体的には、ある一つのセルに 2003/07/26と入力した時 → "2003/07/26"と表示 2003/07/26 18:30と入力した時 →  "2003/07/26 18:30"と表示 ユーザー定義で、 yyyy/mm/dd yyyy/mm/dd hh:mm でそれぞれの表示はできますが、例えば 時間データのないものに、yyyy/mm/dd hh:mmと定義すると、"2003/07/26 00:00"と表示されて都合がよくありません。 文字データとして、前に「’」を付ければ表示のみはできますが、数値データとして使えません。 少し長くなりましたが、よろしくご教示ください。

  • 【Access】できればクエリにて 日付(yyyy/mm/dd)+時間(hh:mm)の計算 

    いつもお世話になります。 フィールド「日付」:日付 (S) ~YYYY/MM/DD形式~ と フィールド「時間」:時刻 (S) ~HH/MM形式~ があります。 これらを合算し、 (1)日付 (標準)  ~YYYY/MM/DD HH:MM:SS形式~ (2)日付 (標準?) ~YYYY/MM/DD HH:MM形式~ にしたいのですが、 レコードの更新欄ではどのようにビルドさせればよろしいでしょうか? 教えていただけますでしょうか? よろしくお願いします。

  • 日付形式の変換

    はじめまして Perlで日付形式の変換をしたいと思っています。 RFC1123形式(2 Mar 2006 04:28:25 -0800)から yyyy/mm/dd hh:mm:ssの形式に変換したいのです。 色々と調べましたが、適当なヒントがあるところがありません でした。 どうぞ、関連サイトでも構いませんので、ご回答お願いいたします。

    • ベストアンサー
    • Perl
  • エクセルVBA セルの書式につい

    ユーザーフォームのテキストボックスに入力した日付(yyyy/mm/ddの形式)をA1セルに入れるとします。  Range("A1").Value = Me.txt日付 A1セルの表示形式は書式設定でユーザー定義の"d"で表示されるように設定していますが、 テキストボックスに入力した形式のまま(yyyy/mm/dd)でA1セルに表示されてしまいます。 上記のみではNGでしょうか? ちなみに、yyyy/mm/ddと入力されたA1セルを一旦編集モード([F2]キーを押した状態)にして[Enter]を押すと"d"(書式設定で指定している書式)に変わります。 参考:A1セルの日付をみて別シートの一覧からVlookup関数で値を検索したいところが、yyyy/mm/ddで表示されるためにエラーとなってしまいます) ご存知の方教えていただきたいです。

  • エクセルVBAでシリアル値で読み込まれてしまう

    こんばんわ! エクセルVBAのユーザーフォームの質問です。 A1セルにある日付データ(yyyy/mm/dd形式)のデータをユーザーフォームのテキストボックスに入れるとシリアル値になってしまいます。 式は普通に aaa.text=range("a1") としています。 同様に時刻もなってしまうのですが、どうしたら通常のyyyy/mm/dd形式(時刻はhh:mm形式)で表示できるでしょうか? アドバイスの程よろしくお願いいたします。

  • excel 日付で、0時が読み出せない

    エクセルのセルにyyyy/mm/dd hh:mm:ssの形式で日付と時間を入れている。これを エクセルVBAで Dim W as String W=Cells() で読み出したとき、0時の場合、Wには時間以降が無くなっている。 日付のフォーマットはこのままで、0時の時も0:00:00の部分が読み出せないでしょうか。 なお、Cells().Valueとしても同じです。 また、日付以外のデータも読み込む可能性が有ります。

  • エクセル日付について

    エクセル2000を使用しています。 文字列で 99/99/99 のデータを YYYY/MM/DD 日付け形式に変換したいのですが、 どうすればよいのでしょうか。 セルには、98/11/20とか 03/03/04 とあります。