質問編集履歴

3

動作例追加

2024/04/17 15:14

投稿

ru-ru-ru
ru-ru-ru

スコア1

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
- 1回目は「いいえ」、2回目で「はい」を選択
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

誤字

2024/04/17 14:59

投稿

ru-ru-ru
ru-ru-ru

スコア1

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

一言追加

2024/04/17 14:58

投稿

ru-ru-ru
ru-ru-ru

スコア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