在VBAmacros中复制和粘贴date值

我写了一个macros来复制和粘贴从一个工作表到另一个工作表的几个单元格值。 除了包含date值的字段以外,所有字段都已成功。

例如,当单元格包含'08 -Jan-14'时,粘贴的值是一个整数'41647'。

如何确保新工作表收到的粘贴值将采用date格式?

Sub place_data(Source As Worksheet, Destination As Worksheet, Optional WorkbookName As String, Optional rowToWrite As Integer) Dim iSourceHeader As Integer Dim iCol As Integer Dim lSourceEnd As Long Dim lDestEnd As Long Dim rSource As Range Dim rDestination As Range Dim rngFrom As Excel.Range Dim rngTo As Excel.Range Set rngFrom = Workbooks(WorkbookName).Sheets(Source.Name).Range("D51") Set rngTo = ThisWorkbook.Sheets("Self Test Summary").Range("A" & rowToWrite) rngFrom.Copy rngTo.PasteSpecial Paste:=xlValues 

你只是粘贴的价值,而不是格式。 粘贴后需要添加一行

 rngFrom.Copy rngTo.PasteSpecial Paste:=xlValues rngTo.Numberformat = "DD-MMM-YY" 

其他方式

 rngTo.Value = rngFrom.Value rngTo.Numberformat = "DD-MMM-YY" 

更换:

 rngFrom.Copy rngTo.PasteSpecial Paste:=xlValues 

有:

 rngFrom.Copy rngTo