私は現在フランスにいて、すべてのOfficeプログラムがフランス語であるコンピューターを使用しています。
英語のVBAで記述されたマクロを使用する必要がありますが、失敗します。
フランス語版で英語のExcel数式を使用しようとすると同じことが発生するため、この問題は言語の問題であると想定しています(例:= sum is = somme)
これを行う方法はありますか?
VBAコードの書き換えを伴う2つのオプションがあります。
最初のオプション:Range.Formula
プロパティにアクセスするたびに、それを置き換えますRange.FormulaLocal
プロパティの場合。数式のローカライズ版は、Excelによって内部で使用される英語版に翻訳されます。もちろん、これにより、マクロはフランス語のロケール/言語でのみ機能します。
2番目のオプション:VBAにハードコードされているすべての数式を手動で英語に翻訳します。これにより、マクロが任意のExcelロケール/言語で機能するようになります。
米国で作成されたExcelマクロツールでも同様の問題が発生し、ドイツでも使用したいと思いました。ツールは起動後にループでロックされているように見えたため、終了しませんでした。
日付、時刻、数値形式のWindowsのデフォルトを、説明されているように米国標準に変更することで、この問題を最終的に解決できました ここ 。したがって、おそらくツールのVBAコードは、米国の標準形式の一部のデータで機能し、外国の形式のシステムでは機能しません。