我是Excel VBA的完全新手。最近,我设法下面的宏安装到我个人的工作簿,以便我可以导入CSV文件的一个按钮,点击(选择必要的选项):通过宏导入CSV时的日期格式不一致
Sub OpenTextFile()
filetoopen = Application.GetOpenFilename("Text Files (*.txt;*.csv), *.txt;*.csv")
If filetoopen = Null Or filetoopen = Empty Then Exit Sub
Workbooks.OpenText Filename:=filetoopen, _
Origin:=65001, DataType:=xlDelimited, Comma:=True
End Sub
它的工作原理。但是,它并不一致。我将它用于不同的CSV文件(所有这些文件都是在ISO 8601日期系统中预先格式化的),但我得到了不同的结果。在其中一些日期输出是DD/MM/YYYY hh:mm,但在其他人中,这是我不明白的东西(如00:00,0或50:00,0)。我可以手动选择行内容并将格式更改为长日期,所以至少我确信Excel可以将数据识别为日期而不是文本。
我怎样才能确保日期都格式化?这取决于什么?
谢谢!
听起来像问题是与格式,而不是内容或导入。您可以扩展该宏以将日期格式应用于日期列。但要做到这一点,你需要一个系统来识别这些。所有的日期列都包含* date *的字段名称吗? –