teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

試したことの追加

2023/03/01 05:30

投稿

maika
maika

スコア15

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,12 @@
28
28
  Range("D: D").Replace what:="A", replacement:="B"
29
29
  のように書き方を変えたりしましたが、特に変化はありませんでした。
30
30
 
31
+ ー追加
32
+ Dim myRange As Range
33
+ Set myRange = Range("D2:D10")
34
+
35
+ myRange.Select 'この時点では想定通りの範囲が選択されている
36
+
37
+ myRange.Replace what:="B", replacement:="C" 'こうすると全範囲が対象になってしまう
38
+
31
39
  ### 補足情報(FW/ツールのバージョンなど)

2

文章の修正

2023/03/01 03:20

投稿

maika
maika

スコア15

title CHANGED
File without changes
body CHANGED
@@ -9,6 +9,9 @@
9
9
  ですが次のコードを実行すると、指定したRangeを超えて全てのセルが適用範囲になってしまいます。
10
10
  (なぜか"A1: D15"の範囲に適用されています)
11
11
  これが本来のreplaceメソッドの挙動なのでしょうか?そもそも範囲指定という概念がないのでしょうか?
12
+
13
+ 理由や解決策、もしくは代替案をご教授いただけると幸いです。
14
+
12
15
  ### 発生している問題・エラーメッセージ
13
16
 
14
17
  ### 該当のソースコード

1

文章の修正

2023/03/01 03:19

投稿

maika
maika

スコア15

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  ### 前提
5
5
  現在vbaの勉強をしております。
6
- そこでreplaceメソッドの挙動を試していたのですがそこで問題に直面しました。
6
+ そこでreplaceメソッドの挙動を試していたのですが問題に直面しました。
7
7
 
8
8
  やろうとしていることはD列の2行〜10行の文字列を置換するというものです。
9
9
  ですが次のコードを実行すると、指定したRangeを超えて全てのセルが適用範囲になってしまいます。