以适当的格式打印日期

时间:2014-08-06 12:41:41

标签: excel vba date datetime excel-vba

我有一个包含很多日期的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

是否有人知道如何以我需要的格式打印纸张?

2 个答案:

答案 0 :(得分:3)

您可以使用Format功能自定义日期的文本格式。

我转发了正斜杠/,因为否则它被解释为日期分隔符&#34;在格式化输出中用作日期分隔符的实际字符由您的系统设置决定&#34; (来自文档)。通过转义,它应始终输出/字符。

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

答案 1 :(得分:0)

您可以使用Format(Cells(i,j), "mm/dd/yy hh:mm")来执行此操作

或者可能更好用的是你可以使用

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

这将返回文本变量而不是datetime。