VBA での日付のコピー/貼り付けに小さな問題があります。dd/mm/yyyy 形式で表示される日付をテキストに取得したいと考えています。私のExcelには英語の元の設定があります。
私は試した:
Selection.NumberFormat = "@"
ただし、テキストは mm/dd/yyyy 形式で返されます。dd/mm/yyyy 形式を維持する方法を知っている人はいますか? 範囲の「ロケール」パラメータを変更しようとしましたが、うまくいきません。
どうもありがとう、ヴィンセント
同様の質問を見ました....日付を次のようにフォーマットできます。
Format(urdate_intext, "dd/mm/yyyy")
Excel は、コンピューターの地域設定に基づいてこれを行います。地域の設定を変更したい場合は、コードの実行後に Excel の日付形式が変更されました をご覧ください。
ところで、それを操作するために範囲を選択する必要はありません。:) 範囲を範囲オブジェクトに設定します。
Range オブジェクトには、'Text' という名前のプロパティがあります。スプレッドシートに表示されているものを取得します。次に、それを文字列変数に保存し、以前にテキストとしてフォーマットされたセルに貼り付けることができます (ループ内の同じセルである可能性があります)。だからあなたはできる:
Dim tt as string
tt = ActiveCell.Text
Selection.NumberFormat = "@"
Selection.Value = tt
もう 1 つの解決策は、1 日が 13 日未満の日付でのみ機能した可能性があります。