2016-12-19 6 views
7

英語版のExcelとポーランドの地域設定があります。私は、数値の前にポンド記号でセルの書式を設定するコードを作ろうとします。VBAでGBP(£)記号を使用できません

残念ながら、シンボルをVBAウィンドウに貼り付けると「L」に変換されます。マクロレコーダーは、このようにフォーマットされたセルを "L"として記録します。 Chr(163)は "Ł"を返します。

システム言語設定、ローカライゼーション設定またはキーボード設定を変更しても効果はありません。地域の設定を変更した後(PCの再起動が必要)は英語(イギリス)に正しく動作します。地域の設定を変更せずにこのシンボルを使用する方法はありますか?あなたはVBA経由の書式にシンボルを適用する場合

+0

現在の地域設定は何ですか?あなたは 'Chr(i)'を通してループを実行していますが、iはインクリメンタルな整数で、別の 'Chr'です(これは疑いますが)。 – Jeremy

+0

あなたは\£ – Phil

+2

としてそれをエスケープできますか? 'ChrW(163)'を試しましたか? – ThunderFrame

答えて

5

は、試してみてください。

Sub Serling() 
    Const g = "General" 
    dq = Chr(34) 
    sterl = " " & ChrW(163) 
    s = g & dq & sterl & dq 
    Selection.NumberFormat = s 
    Selection.Font.Name = "Arial Unicode MS" 
End Sub 

enter image description here

EDIT#1:

私にとって、これは本当にクールです。摂氏度が必要な場合は、ChrW(8451)を使用します。華氏が必要な場合はChrW(8457)などを使用します。

+0

ほんの少しの点ですが、 'sterl'はOPリクエストのように数字の前にあるはずですが、それはあなたの素晴らしい解決策を見て簡単に行うことができます。 –

+0

@SkipIntroあなたは正しいです! –

関連する問題