現在、私は多くの面で問題を抱えています。誰かが私を助けてくれることを願っています。私はOffice 2007(32ビット)とOffice 2010(64ビット)の両方を使用している大企業に勤務しています。私は全社を通して互換性のあるマクロを書くことが難しい作業でした(私は以前はVBAでプログラミングしていませんでした - 実際このフォーラムは私を助けました)。私の仕事は、1つの大きなテーブルを共有Excelシートで管理することです。いくつかのマクロといくつかのユーザーフォームがあります。ここで問題を簡単に解消します: シートには、日付形式(開始日と終了日)の2つの列が含まれています。両方の値はカラムフォームのuserformのテキストボックスにインポートされます(commandbuttonはMsCalをランチしてclassにエクスポートされ、これらのテキストボックスに日付を入れます)。私が必要とするのは、フィルタリングやその他の操作を実行するために、両方の列に日付形式をmm/dd/yyyyとして持つことです。この値が、英語とは異なるローカライゼーションを使用する作業者によって更新される場合、米国の日付はdd.mm.yyyyとして入力されます。 Thatsは、日付に基づく適切なフィルタリングを不可能にします。私は次のように書式を変更しようとしました:複数の地域にまたがる同じ日付形式
UserForm1.TextBox10.Value = Format(Calendar1.Value, "mm/dd/yyyy")
しかし、このコードは何とかしています。一部のマシンでは動作しますが、一部のマシンでは動作しません。そして、それは私に頭痛を与えているものです。今はどのように進めるべきですか?シートで同じ日付形式を使用し、Windowsのローカリゼーション設定を無視するようExcelに強制する方法はありますか?従業員は、そのフォーマットに慣れているか、他のアプリケーションに必要なため、ローカリゼーションを英語(米国)に変更する必要はありません。このシートが開くときに限ってローカライズを一時的に変更する方法はありますか? アドバイスがあります。 おかげで、事前に ピーター
Excelセルの日付は文字列ではなく、日付でなければなりません。アスタリスク*(通常はFormat Cells/Dateオプションの最初の2つのオプション)の前にある日付書式にセル書式を設定すると、日付はユーザーのローカル日付書式に変更されます。しかし、下位のセルはまだ形式にかかわらず使用可能な日付の番号です。テキストボックスに日付を入力するか、文字列を日付に変換する必要がある場合は、別の問題であり、余分な処理が必要です。 http://stackoverflow.com/questions/12495504/how-to-convert-a-string-into-date/12497237#12497237 – user3357963
@PeterTを参照してください。表では、日付列はテキストまたは日付として形式化されていますか? – CaBieberach
日付として作成 – PeterT