>>401
まず、文字コードって言われているものには複数の種類があって、同じ文字であっても違う番号で表されることがある。
そして、文字コードを規定している体系によって、持っている文字の種類や数が決まってる。
これが文字コードの大前提

今回の問題は、Windows日本語版のANSIでは半角ポンド記号は定義されていないってこと

>2つの値が異なるのは163がユニコードの番号で63がANSIの番号だからですか?
ChrWはUnicodeを扱う関数
codeワークシート関数はANSIを扱う関数
同じ文字でも数値が違うのは当たり前
unicodeワークシート関数使えば当然同じ数値になる

ただしANSIでの63ってのは"?"文字のコード
codeワークシート関数の数値については、対応する文字がない場合は?のように扱うんじゃないかな
なので?の数値が帰ってきてると思われ

>どちらか一方だけ(例えばユニコード)に対応した関数で使用を統一する方法はあるのでしょうか。
ANSIで使えない文字がある以上、ユニコードでやるしかない