情報が不足しています
提示いただいた判定文のコードだけでは、reportWs.Cells(j, k).Value
や変数judge
にどんな値が入ってくるのかもわかりません。
実際の値も「文字」として提示されていませんし、添付の動画では見た目の違いしかわかりません。
これではろくなアドバイスもできませんよね?
推測込みのアドバイス
おそらくreportWs.Cells(j, k).Value
の(j,k)にはおそらく(2,1)などが入ってきて、変数judge
にはA1セルの値などが入っており、一致しないということだと思います。
提示いただいたコードを見る限り、値が一致していれば結合セルか否かに応じた色で着色する処理に入るので、そのどちらの処理にも入らないということですよね?
本当にこの2項が不一致となっているのなら、いかに見た目が似ていようともそれは「文字列として異なるもの」ということです。
ちなみにアドレスバーには書式設定にかかわらず、そのセルの内容が表示されますので、フォントサイズやインデントが異なってもa
ならa
が同じように表示されるはずです。
しかし今回はアドレスバーに表示される内容が少しずつ異なっているようですので、実際に異なる値が入っているのは間違いないのでしょう。
確認のために
なぜ不一致と判断されているのか?
それを確認するためには、それぞれどんな文字を取得しているのかを把握する必要があります。
ExcelVBAerさんからの「文字コードを調べてください」というのもそういうことです。
考えられる要因はいくつかあります。
・全角/半角の違い
⇒フォントによっては全角/半角の違いが非常に見分けにくいものがあります。
ワークシート関数=LEN(A2)
や=LENB(A2)
で文字の桁数を確認してみてください。
半角のa
であれば、LENが1、LENBも1となります。
全角のa
であれば、LENが1、LENBが2となるはずです。
半角スペース+半角a
であれば、LENが2、LENBも2となるはずです。
・余分な文字が含まれている
⇒これはExcelVBAerさんのアドバイスにある文字コードを調べる方法で確認できます。
VBAで確認するならASC関数を使います。
ワークシート関数で確認するなら、=CODE(A2)
などで確認してみてください。
対象セルの先頭文字の文字コードが確認できると思います。
例えば先頭が半角a
なら97、全角a
なら9057、半角スペースなら32が返されるはずです。
まずはここらへんから確認して、現状を把握されてはどうでしょうか?
そのうえで「この状態のまま一致と判断させる」のか、「不要な文字を含まず、文字種も統一して、一致するような値をセルに入れる」のか、対応方針を決めればいいと思います。
↑ここらへんがnatoさんからのアドバイスの部分です。
参考になれば幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/25 08:50