以适当的格式打印date

我有一个很多date的Excel工作簿。

  • 在工作表上它们的格式是“mm / dd / yy hh:mm”
  • 我在表格上方的白框中看到的格式是“dd / mm / yy hh:mm”

我需要将工作表打印到文本文件中,但是当我这样做时,打印格式为dd/mm/yy hh:mm ,而不是mm/dd/yy hh:mm

代码如下:

  For i = 1 To LastRow For j = 1 To LastCol If j = LastCol Then DataLine = DataLine + Trim(Cells(i, j).Value) Else DataLine = DataLine + Trim(Cells(i, j).Value) + vbTab End If Next j If (DataLine <> "") Then Print #FileNum, DataLine DataLine = "" End If Next i 

有没有人有一个想法如何打印我需要的格式的床单?

您可以使用Formatfunction来自定义date的文本格式。

我逃过正斜杠/因为否则它被解释为date分隔符和“在格式化输出中用作date分隔符的实际字符取决于您的系统设置”(从文档)。 随着逃跑,它应该总是输出一个/字符。

 Format(Cells(1, 1).Value, "MM\/dd\/yy hh:mm") 

你可以使用Format(Cells(i,j), "mm/dd/yy hh:mm")来做到这一点

或者可以使用更好的方法

 Cells(i,j) = Application.WorksheetFunction.Text(Now(), "dd/mm/yy hh:mm") 

这将返回一个文本variables而不是date时间。