プロが教えるわが家の防犯対策術!

XP時代に .xls で作った古いExcelVbaファイルでは、Dateは "2022/8/15" で持ちますが、.xlsm に変更しましたら "2022/8/15㈪" という形になり、曜日がついてまわります。
日付の比較をするときに、曜日がついていると比較できずエラーになってしまいます。
下3桁を除く方法以外に何かありますか?

質問者からの補足コメント

  • .xlms のファイルで何度かテストしてみましたが、曜日が入る時と入らない時があります。

      補足日時:2022/08/15 16:47
  • 回答ありがとうございました。
    自分でカレンダー作成のプログラムを見つけましたら、
    dim StrDate as Date
    とDate タイプにしましたら、.xlsm のファイルでは、ここに入れた日付には全て曜日が入り、比較対象が同じDateタイプなら比較できました。
    お騒がせしました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/08/17 11:52

A 回答 (2件)

マクロを無効にして様子をみる。


マクロで何かしていると推測します。

というか、全部に曜日が付くなら比較できるはずですけど?
曜日が付いていないなら付けちゃいましょう。

TEXT関数で表示形式を指定して文字列に変換したのちに比較することを薦めます。
 A1セルに曜日が入った文字列。
 B1セルに曜日が入っていないシリアル値。
なら、
 EXACT( A1 , TEXT(B1,"yyyy/mm/dda"))
とかね。
この回答への補足あり
    • good
    • 0

表示されているセルを選択し、書式設定で日付を選んでください。

(添付図参照)
そうすれば、2022/8/15のように表示されます。
「ExcelVbaファイルを.xls から」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!