VBAで質問なのですが、EXCELの複数のセルに8/20や8/15等のさまざまな日付が入っていて、それを全て強制的に8/1にしたいのですが、どうしたらいいのでしょうか?


WINDOWS7 EXCEL2010です。

回答の条件
  • 1人5回まで
  • 登録:2014/08/23 00:40:37
  • 終了:2014/08/23 02:55:34

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912014/08/23 00:58:18

ポイント100pt

8月限定なのかどうか不明ですが、取りあえずのサンプルです。

Sub Sample()
    Dim r As Range
    For Each r In ActiveSheet.UsedRange
        If IsDate(r.Value) = True Then
            r.Value = CDate("8/1")
        End If
    Next
End Sub
他2件のコメントを見る
id:Mook

そうであれば、こんなのでも。

Sub test2()
  Dim r As Range
  For Each r In ActiveSheet.UsedRange
    If IsDate(r.Value) = True Then
      r.Value = DateSerial(Year(r.Value), Month(r.Value), 1)
    End If
  Next
End Sub

2014/08/23 09:32:33
id:shotomo

さすがです。すっきりですね。ありがとうございました。勉強します

2014/08/23 18:11:28

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません