現在、私を悩ませている問題に直面しています。誰かが私を助けてくれることを願っています。私は、Office 2007 (32 ビット) と Office 2010 (64 ビット) の両方を使用している大企業で働いています。会社全体で互換性のあるマクロを作成するのは、私にとって大変な作業でした (これまで VBA でプログラミングしたことがありませんでした。実際、このフォーラムは私を大いに助けてくれました)。私の仕事は、共有 Excel シートで 1 つの大きなテーブルを維持することです。いくつかのマクロといくつかのユーザーフォームがあります。ここで、問題を簡単に説明します。シートには、日付形式の 2 つの列 (開始日と終了日) が含まれています。両方の値は、ユーザー フォームのテキスト ボックスの列フォームにインポートされます (コマンド ボタンを押すと、MsCal がクラスにエクスポートされ、これらのテキスト ボックスが日付で埋められます)。私が単に必要としているのは、フィルタリングやその他の操作を実行するために、両方の列で日付形式を mm/dd/yyyy にすることです。この値が英語以外のローカリゼーションを使用するワーカーによって更新されると、米国の日付は dd.mm.yyyy として入力されます。それは、日付に基づく適切なフィルタリングを不可能にします。次の方法でフォーマットを変更しようとしました:
UserForm1.TextBox10.Value = Format(Calendar1.Value, "mm/dd/yyyy")
しかし、このコードはどういうわけか誤動作します。一部のマシンでは機能しますが、一部のマシンでは機能しません。そして、それが私に頭痛の種を与えているのです。これからどう進めばいいの?シートで同じ日付形式を使用し、Windows でローカリゼーション設定を無視するように Excel を強制する方法はありますか? 従業員は、ローカリゼーションを英語 (米国) に変更したくありません。これは、自分の形式に慣れているか、他のアプリケーションでそれが必要なためです。このシートが開いたときだけ一時的にローカライズを変更する方法はありますか? どんなアドバイスも高く評価されます。前もってありがとうピーター