-PR-
解決済み

エクセルで、データ形式の異なるものを比較するマクロについて教えてください。

  • すぐに回答を!
  • 質問No.6111
  • 閲覧数221
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 50% (3/6)

エクセルのマクロで、日付の比較を行いたいのですが、片方は普通のデータ(2000/5/20等)で、片方のデータは全て日付の頭に(’)が入っています
('2000/5/20等)。置換でも消せないし、値張り付けでも消せません。頭についている(’)を消す方法(手で消すの以外)または、そのままで、普通の頭に(’)が入っていない日付と比較(あっているかどうかを確認)する方法を教えてください。
マクロを修正する、またはデータを修正する、出来るだけ簡単に出来るものがいいです。とてもこまっています。よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル9

ベストアンサー率 41% (44/107)

とりあえずお急ぎのようなので、応急処置的に答えます。
実は、ettyさんが試した「値貼り付け」でできます。

セルの表示形式が「日付」のところに「値貼り付け」をしても(’)は取れません。
一旦、セルの表示形式が「標準」のところに「値貼り付け」をします。これで(’)が取れます。
そして、もとの位置にコピー(または移動)すればOKです。
お礼コメント
etty

お礼率 50% (3/6)

出来ました!!
新しいシートにはってみたらうまく行きました。
なるほどという感じです。
ほんとうにありがとうございました。
投稿日時 - 0000-00-00 00:00:00

その他の回答 (全2件)

  • 回答No.2
レベル13

ベストアンサー率 46% (643/1383)

#1,htokitaさんの方法が正解ですが、一応、DateValue()関数でも出来ます。

A1のセルに'2000/8/8 と入力されているとすると、
=DateValue(A1)
で、日付形式に変換することが出来ます。
(ただし、変換先のセルの書式を、あらかじめ日付にしておかないと、36746などの、得体の知れない数値が表示されます。)


  • 回答No.3
レベル13

ベストアンサー率 46% (643/1383)

マクロの中で使うなら、こんな感じでしょうか。

Dim Date1 As Variant, Date2 As Variant

Date1= #2000/8/7# '日付シリアル値
Date2= "平成12年8月8日" '文字列

IF DateValue(Date1) <= DateValue(Date2) THEN
  'この部分が実行される
ELSE
  'この部分は実行されない
END IF

って感じです。
ちなみに、マクロの中で記述する場合に限り、DateValueの代わりにCDateを使ってもいいです。(CDateはワークシート上では使えない)
お礼コメント
etty

お礼率 50% (3/6)

お礼が遅くなりました。
ぜひやってみたいと思います。
ありがとうございました。
投稿日時 - 0000-00-00 00:00:00
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


抽選で合計100名様にプレゼント!

ピックアップ

ページ先頭へ