
こんにちは。いつも質問ばかりですみません。
今、excell の VBAの勉強をしているのですが、たとえば、B列に2004/5/3 とか、2004/5/5とか、5月の日付ばかりはいっていたとして、その2004/5の部分を2004/6に置換したいとします。
それを、マクロでやらせてみて、VBAを見ると
Sub Macro9()
Cells.Replace What:="2004/5", Replacement:="2004/6", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
のようになるのですが、このプロシージャーを実行しても、うまく置換できません。
どのように記述したら、できるのか、教えていただけるとうれしいです。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
Excelは普通に日付を打つとシリアル値という数値になりますので、上手く動かないのでしょう。
Replace メソッドでのやり方は知らないので代替案です。
セル範囲を指定してから下記を実行して見て下さい。
(試すのはテスト環境で)
Sub Test()
For Each r In Selection
r.Value = DateSerial(Year(r.Value), Month(r.Value) + 1, Day(r.Value))
Next r
End Sub
実行するたびに 1月ずつ加算されます。
ただし、2004/5/31 に対して実行すると 2004/6/31 は無いので 2004/7/1 になります。
また、2004/12/31 に対して実行すると 2004/13/31 は無いので 2005/1/31 になります。
こんにちは~。ありがとうございました~。できました。できました。(^^) なるほど、いろいろなやり方があるものですね。とっても勉強になりました。m(__)m
No.1
- 回答日時:
エクセルのヘルプをそのまま使うと、
Worksheets("Sheet1").Columns("B").Replace _
What:="2004/5", Replacement:="2004/6", _
SearchOrder:=xlByColumns
のように書くみたいですよ。
マクロのヘルプもちゃんと使ってみてくださいね。
早速の回答、ありがとうございました。
おっしゃる通りに記述してみたのですが、全く変わらないのです。papayukaさんのおっしゃるように、多分日付というのが特殊なんだろうと思います。
マクロのヘルプ、どうしたら、回答のようなヘルプが出せるのですか? replace でF1をおしても、hana-hana3さんが書かれているようなヘルプはでてこなかったのですが。。
でも、早々に回答いただいて、とってもうれしかったです。また、よろしくお願いします。m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
空白のはずがSUBTOTAL関数でカ...
-
同じ名前(重複)かつ 日本 ア...
-
【マクロ】数式を入力したい。...
-
if関数の複数条件について
-
excel
-
Excelで4択問題を作成したい
-
エクセルシートの見出しの文字...
-
表計算ソフトでの様式の呼称
-
空白処理を空白に
-
【マクロ 画像あり】Exact関数...
-
エクセルでフィルターした値を...
-
【マクロ】既存ファイルの名前...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】実行時エラー '424':...
-
Excel 複数のセルが一致すると...
-
Excel 日付の表示が直せません...
-
【マクロ画像あり】❶1つの条件...
-
【マクロ】【画像あり】4つの...
-
【マクロ】【相談】Excelブック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 作業後に選択範囲...
-
別のフォームで記述している関...
-
エクセル マクロ 別シートから...
-
VBAでのユーザフォームの表示有...
-
ascW関数の結果がおかしい
-
Excel VBA 選択範囲の罫線色の...
-
ACCESSで別DBにあるクエリを...
-
Sub Auto_Open() 実行されない
-
円の中に等間隔に線を引くには
-
ExcelVBAで毎月月初の最初にBoo...
-
エクセルのVBAにショートカット...
-
GetAsyncKeyState() を利用する...
-
最小化ボタンで最小化したフォ...
-
エクセルVBAのコードで質問です...
-
メニューバーのイベントが2回...
-
続き…エクセルvba ①SUBメニ...
-
Excel VBAのステップイン
-
Excelで、チェックボックスにチ...
-
MATLABの乱数生成関数 rand( ) ...
-
Visual Basic 6.0のフォームの...
おすすめ情報