アプリ版:「スタンプのみでお礼する」機能のリリースについて

https://oshiete.goo.ne.jp/qa/8913191.html
上記質問で便利に使わせていただきましたが、マクロを実行後に転記されたSheet1、B列の日付を日付型データで処理したいのです。
別セルにB2+1などすれば日付型になるのですが、転記されたセル自体は文字型として認識されているようで、フィルターで日付扱いされません。
転記されたセル自体を日付型にする方法はあるでしょうか?
よろしくお願いいたします。

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

  • GooUserラック 様
    回答ありがとうございます。
    試してみたところ「型が一致しません」でエラーになります。

    WindFaller 様
    回答ありがとうございます。
    試してみたところ回答いただいた書式をWith ws1の先頭に記入しても、末尾に記入しても結果は変わらずフィルターで日付認識されませんでした。
    なおSheet1、B列には空白がありますが、実行してもエラーは出ませんでした。
    結果は書式を記入する前と同じでした。

      補足日時:2016/10/23 08:32
  • GooUserラック 様
    回答ありがとうございます。

    ご指摘のセル表示は「H28.10.23」の形式です。
    またセルの書式設定はユーザー定義で『[$-411]ge.m.d』としてあります。

      補足日時:2016/10/23 11:07
  • 読解力がなく申し訳ありません。
    数式バーは「2016/10/23」となっています。

      補足日時:2016/10/23 11:27

A 回答 (6件)

すいませんVBAが日付として判断できないのかもしれません。


「rcDate = .Cells(i, 4).Text」を「rcDate = .Cells(i, 4).Value」または「rcDate = CDate(.Cells(i, 4).Value)」にしてもダメですか?
    • good
    • 0
この回答へのお礼

出来ました!!
上記「rcDate = .Cells(i, 4).Value」でも「rcDate = CDate(.Cells(i, 4).Value)」どちらでも同じ結果になり、見事に日付として認識されました。
フィルターも使えるようになりました。
ありがとうございました。

お礼日時:2016/10/23 12:37

それですと「型が一致しません」エラーは出ないはずですが…


もっと基本的なことをお聞きします「https://oshiete.goo.ne.jp/qa/8913191.html」のベストアンサーのコードを使っているんですよね。もし違うようならばコードを提示してください。
    • good
    • 0

No.3 追補



表示形式はどうでもよいのです。実際に入力されている値が知りたいのです。D5セルを選択したときに下図の赤で囲んだところはどうなっていますか?
「VBAの日付の型について教えてください」の回答画像4
    • good
    • 0

念の為確認しておきます。

D5セルですが「' H27.2.2」の様に表示されていますが、数式バーは次のどれになっていますか?
①「2015/2/2」
②「' H27.2.2」
③ その他(数式バーの内容をコピーして提示してください)
    • good
    • 0

こんばんは。



おっしゃる通り、マクロ転記後は、「不活性化」といって、日付は日付でもなければ、完全なテキストではない状態のことがあります。日付としては認識されない状態になっています。

一般的な方法は、ものすごく簡単な方法で、

'書式設定を最初に置きます。(逆ですと、若干、値が変わることがあります)
Range(範囲).NumberFormatLocal ="yy/mm/dd" '先に書式設定する
Range(範囲).Value =Range(範囲).Value

とすると活性化します。NumberFormatLocal は、平成とか昭和とか入る場合に使いますが、オールラウンドで使えます。

ただし、空白値が入っている時は、上記の方法は使えません。
Do ~ Loop などで、Trimで、1つの値ごとに空白値を除去しなければなりません。あえて、変数に入れて、CDate などは使わなくてもよいはずです。
    • good
    • 1

よく見ていませんが「rcDate = .Cells(i, 4).Text」を「rcDate = CDate(.Cells(i, 4

).Text)」にしてはダメですか?
    • good
    • 0

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