質問編集履歴
3
動作例追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,18 +16,25 @@
|
|
16
16
|
セル値:aaa,bbb,ccc 期待結果:[zzz],bbb,ccc
|
17
17
|
②全て「はい」を選択
|
18
18
|
セル値:aaa,bbb,aaa,ccc 期待結果:[zzz],bbb,[zzz],ccc
|
19
|
+
③全て「はい」を選択
|
20
|
+
セル値:bbb,aaa,ccc,aaa 期待結果:bbb,[zzz],ccc,[zzz]
|
19
|
-
|
21
|
+
④1回目は「いいえ」、2回目で「はい」を選択
|
20
22
|
セル値:aaa,bbb,aaa,ccc 期待結果:aaa,bbb,[zzz],ccc
|
21
|
-
|
23
|
+
⑤全て「いいえ」を選択
|
22
24
|
セル値:aaa,bbb,aaa,ccc 期待結果:aaa,bbb,aaa,ccc(置換なし)
|
23
25
|
|
24
26
|
|
25
27
|
|
26
28
|
### 発生している問題・分からないこと
|
27
29
|
セル内に複数検索文字が出現する場合の置換や、検索などの実装は想定通りの結果になっていますが、色変換の部分がうまくいきません。
|
28
|
-
具体的には、動作例②のパターンで、2回目の置換時
|
30
|
+
具体的には、動作例②、③のパターンで、2回目の置換時の後の色変換がおかしくなっています。
|
29
|
-
ソースを見るとわかる通り、loopで「置換→色変換」を回しているのですが、デバッグをしてみると、2回目の置換時に、なぜかセル内の
|
31
|
+
ソースを見るとわかる通り、loopで「置換→色変換」を回しているのですが、デバッグをしてみると、2回目の置換時に、なぜかセル内の文字の色が変更されているみたいです。
|
32
|
+
input→検索文字:aaa, 置換文字:zzz
|
33
|
+
動作例② セル値:aaa,bbb,aaa,ccc 期待結果:[zzz],bbb,[zzz],ccc 実際の結果:[zzz,bbb,zzz,ccc]
|
34
|
+
動作例③ セル値:bbb,aaa,ccc,aaa 期待結果:bbb,[zzz],ccc,[zzz] 実際の結果:bbb,zzz,ccc,[zzz]
|
35
|
+
|
36
|
+
|
30
|
-
こちら、置換時になぜセル内の
|
37
|
+
こちら、置換時になぜセル内の文字の色が勝手に変更されてしまうのでしょうか?
|
31
38
|
解決策を提示していただけると助かります。
|
32
39
|
(chatGPTにも聞いてみましたが、解決しませんでした。)
|
33
40
|
また、VBAは職場を本格的に学び始めたのが去年の冬ごろからなので、書き方がかなり冗長かもしれません。
|
@@ -77,10 +84,11 @@
|
|
77
84
|
Set rNext = Cells.FindNext(After:=rNext)
|
78
85
|
' 検索不一致時はループを抜ける
|
79
86
|
If rNext Is Nothing Then
|
87
|
+
MsgBox "最後まで検索しました"
|
80
88
|
Exit Do
|
81
89
|
End If
|
82
90
|
|
83
|
-
' 最初に検索されたセルが再検索された場合
|
91
|
+
' 最初に検索されたセルが再検索された場合もループを抜ける
|
84
92
|
If Not noReplaceCell Is Nothing Then
|
85
93
|
If rNext.Address = noReplaceCell.Address Then
|
86
94
|
MsgBox "最後まで検索しました"
|
@@ -94,7 +102,7 @@
|
|
94
102
|
End Sub
|
95
103
|
|
96
104
|
|
97
|
-
' セル内の指定文字を置換して色付け (Rangeオブジェクト,検索文字,置換文字)
|
105
|
+
' セル内の指定文字を置換して色付け (Rangeオブジェクト,検索文字,置換文字,色付け文字)
|
98
106
|
Sub replaceAndColorSet(rStart As Range, searchWord As String, replaceWord As String)
|
99
107
|
Dim iStart As Integer
|
100
108
|
Dim wordStartPosition As Integer
|
2
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,7 +94,7 @@
|
|
94
94
|
End Sub
|
95
95
|
|
96
96
|
|
97
|
-
' セル内の指定文字を置換して色付け (Rangeオブジェクト,検索文字,置換文字
|
97
|
+
' セル内の指定文字を置換して色付け (Rangeオブジェクト,検索文字,置換文字)
|
98
98
|
Sub replaceAndColorSet(rStart As Range, searchWord As String, replaceWord As String)
|
99
99
|
Dim iStart As Integer
|
100
100
|
Dim wordStartPosition As Integer
|
1
一言追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -30,6 +30,9 @@
|
|
30
30
|
こちら、置換時になぜセル内の全ての文字の色が変更されてしまうのでしょうか?
|
31
31
|
解決策を提示していただけると助かります。
|
32
32
|
(chatGPTにも聞いてみましたが、解決しませんでした。)
|
33
|
+
また、VBAは職場を本格的に学び始めたのが去年の冬ごろからなので、書き方がかなり冗長かもしれません。
|
34
|
+
その点についてもご指摘いただきたいです。
|
35
|
+
よろしくお願いいたします。
|
33
36
|
|
34
37
|
|
35
38
|
|