実現したいこと
- D列の値だけreplaceメソッドを使って文字列を置換したい
前提
現在vbaの勉強をしております。
そこでreplaceメソッドの挙動を試していたのですが問題に直面しました。
やろうとしていることはD列の2行〜10行の文字列を置換するというものです。
ですが次のコードを実行すると、指定したRangeを超えて全てのセルが適用範囲になってしまいます。
(なぜか"A1: D15"の範囲に適用されています)
これが本来のreplaceメソッドの挙動なのでしょうか?そもそも範囲指定という概念がないのでしょうか?
理由や解決策、もしくは代替案をご教授いただけると幸いです。
発生している問題・エラーメッセージ
該当のソースコード
Sub 文字列の置換() Range("D2: D10").Replace what:="A", replacement:="B" End Sub
試したこと
column("4").Replace what:="A", replacement:="B"
や
Range("D: D").Replace what:="A", replacement:="B"
のように書き方を変えたりしましたが、特に変化はありませんでした。
ー追加
Dim myRange As Range
Set myRange = Range("D2:D10")
myRange.Select 'この時点では想定通りの範囲が選択されている
myRange.Replace what:="B", replacement:="C" 'こうすると全範囲が対象になってしまう
補足情報(FW/ツールのバージョンなど)
コードに問題は無さそうなので、D列の2行〜10行をセル関数で参照しているとか?

回答1件
あなたの回答
tips
プレビュー