回答編集履歴
1
しゅうせい
answer
CHANGED
@@ -5,9 +5,9 @@
|
|
5
5
|
|
6
6
|
原因
|
7
7
|
---
|
8
|
-
上記ページを見ていただければわかると思いますが、引数の1つ目が文字の取得位置、2つ目が取得する長さとなっています。
|
8
|
+
上記ページを見ていただければわかると思いますが、引数の1つ目が文字列の取得位置、2つ目が取得する長さとなっています。
|
9
9
|
|
10
|
-
|
10
|
+
今回の処理では、文字列から文字を1文字ずつ取得して文字色を写していきたいのだと思いますが、提示いただいたコードでは、
|
11
11
|
`fromRange.Cells(i, j).Characters(k, k).Font.ColorIndex `
|
12
12
|
のように2つ目の引数まで変数kの値としてしまっています。
|
13
13
|
|
@@ -17,9 +17,10 @@
|
|
17
17
|
kループ3回目:Characters(3, 3)⇒"CDE"
|
18
18
|
・・
|
19
19
|
|
20
|
-
といった具合に、取得する文字の長さも増えていってしまいます。
|
20
|
+
といった具合に、取得する文字列の長さも増えていってしまいます。
|
21
|
-
上記例で"BC"がともに赤ならFont.ColorIndexは赤(3)を取得できますが、BとCで色が異なる場合はFont.ColorIndexはNullとなり、結果的に黒文字として反映されてしまいます。
|
22
21
|
|
22
|
+
例えばループ2週目で取得した文字列"BC"がともに赤ならFont.ColorIndexは赤(3)を取得できますが、BとCで色が異なる場合はFont.ColorIndexはNullとなり、結果的に黒文字として反映されてしまいます。
|
23
|
+
|
23
24
|
改修コード
|
24
25
|
---
|
25
26
|
期待する動作とするためには、問題の部分を以下のように修正すればよいと思います。
|