日付をテキスト形式から日付形式(カスタム)dd/mm/yyyy hh:mmに変更したい。私はウェブサイト内のすべてのタイプの同様の質問を読んできましたが、何も私にとってはうまくいかないようです。変更を適用しても、日付はテキスト形式にとどまります。 VBAでDate関数を使用する方法はありますか?または、一般的に、どのように私は最終的にそれを動作させることができるかに関する任意のアイデア。私の日付は「TMS」という名前のExcelシートからの視覚化で、テキスト形式です。宛先シートは「トラッカー」です。日付はウェブサイトから「TMS」シートにインポートされるので、Excelの内部でフォーマットの変更を自動的に実行する必要があります。私のコードは以下の通りです。とても有難い!!VBAのテキスト形式から日付形式への日付
以下のコードは、日付形式が機能する固定コードですが、最初の行の値を他の行にコピーして貼り付けるだけで、すべての行に対してループを実行しません。言い換えれば、最初の行は完全に動作しますが、もう一方の行は正常に動作しません。
Sub Tracker()
Sheets("TMS").Select
lastrow = Range("B" & Rows.Count).End(xlUp).Row
With Range("G2:G" & lastrow)
If Not IsEmpty(Range("G2:G" & lastrow)) Then
.value = .Parent.Evaluate("DATE(MID(" & .Address & ",7,4),MID(" & .Address & ",4,2),LEFT(" & .Address & ",2))+RIGHT(" & .Address & ",4)")
End If
End With
Sheets("Tracker").Select
lastrow = Range("B" & Rows.Count).End(xlUp).Row
With Range("AG2:AG" & lastrow)
.Formula = "=VLOOKUP(B2,TMS!B:G,6,FALSE)"
.value = .value
End With
End Sub
あなたの日付は、ほとんどの場合、数字ではなくテキストとして保存されます。 B6に日付があると仮定すると '= istext(b6)'がtrueを返したらそれをExcelのシリアル日付に変換する必要があります。それが完了したら、カスタムフォーマットを適用して日付機能を使用することができます。 –
それはテキストです!どのようにシリアル日付に変換できますか? –
値を配列にコピーし、内容を削除し、セルの形式を日付として変更し、内容を配列から貼り付けます。すべての日付です。 – Tehscript