|
>Test2()を実行したら、同じシート名が表示されます。(1行目は*つき)
>なぜなんでしょうね?もし心当たりがあれば、投稿ねがいます。
>
ゴメン、急いで書いたのでバグって居ました
For i = 0 To UBound(vntData)
vntData(i) = "*" & vntData(i) & "*"
Next i
For i = 0 To UBound(vntName)
vntData(i) = "*" & vntName(i) & "*"
Next i
この部分を以下の様に修正して下さい
For i = 0 To UBound(vntData)
vntData(i) = "*" & vntData(i) & "*"
Next i
For i = 0 To UBound(vntName)
vntName(i) = "*" & vntName(i) & "*"
Next i
此れは、何をしようとしているのかと言うと
Test2の結果は、2行に成り
上の行は"Menu"のシートのセルに書かれているシート名
下の行は、"設備点検.xls"のシートで、"Menu"のシートのセルの値とvbTextCompare
の比較で合致したシート名で、上下段とも、セルの値の前後に"*"を付けて表示しています
StrComp関数のvbTextCompareの比較と言うのは、
同じ文字の全角、半角、大文字、小文字は全て同じ文字と見なされます
詰まり、上下段を見比べて何が違っているのか見て下さいと言う意味でUpした物です
一寸見で、解らない物でも、全角、半角が違っている等はよく有る事なので?
また、最悪、StrComp関数のvbTextCompareの比較で上手く行くなら遅く成りますが
此れをFunctionにして、セルの値をちゃんとしたシート名に変換して、其の値を使って
シートを指定すれば善いかと思います
|
|