- ベストアンサー
VBAで日付セル内の年度のみを変更したい
データを抽出し加工して使用したいのですが一部が 実際は2008が2009に置き換わってしまっているので A 1 2009/08/17 2 2009/09/07 3 2009/10/20 200位まであり すべて2008年に直したいのです。 1つずつ打ち直す以外の方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロ案です。 Sub test() Dim c As Range Dim r As Range If TypeName(Selection) <> "Range" Then Exit Sub Set r = Selection For Each c In r If IsDate(c.Value) = True Then c.Value = DateAdd("yyyy", -1, c.Value) End If Next End Sub 2009→2008では関係ないですが、 2008→2007のような閏年で 2008/2/29の一年前の場合は2007/2/28に置き換わります。
その他の回答 (2)
- marbin
- ベストアンサー率27% (636/2290)
回答No.3
関数で別セルに表示する案です。 =DATE(YEAR(A1)-1,MONTH(A1),DAY(A1)) こちらも閏年の2/29の一年前は2/28になります。 式をコピーして形式を選択して貼付けで「値」で貼り付けなおすことが可能です。
- hallo-2007
- ベストアンサー率41% (888/2115)
回答No.1
置き換えの機能ではダメでしたか? A列を選択して ツールバーの 編集=>置き換え で 検索する文字 2009 置き換える文字 2008 で 全てを置き換えます。
質問者
お礼
書式のところで躓いてしまいましたが無事成功しました。 ありがとうございました。
お礼
一発で置き換わりました。大変勉強になりました。