仅在单元格中复制数据值

任何人都知道如何复制单元格中的数据,不包括格式? 就像数据本身是唯一的值将被复制。 我试过这些,但不工作。

src.Range("F" & i).Copy Destination:=dest.Range("E" & destRow).PasteSpecial Paste:=xlPasteValues 

而且我还必须parsingsrc.Range("F" & i)因为它包含date和时间值,但是我只能复制date。 任何build议将是伟大的。

当你只想要单元格中的数据时,你实际上不需要复制粘贴。 所有你需要做的是将数据转换为所需的格式并分配给单元格。

 dest.Range("E" & destRow) = CDate(Format(src.Range("F" & i).Value, "MM/DD/YYYY")) 

编辑

尝试这个:

 dest.Range("E" & destRow) = src.Range("F" & i) dest.Range("E" & destRow).NumberFormat = "MM/DD/YYYY" 
 dest.Range("E" & destRow) = DateValue(src.Range("F" & i)) 

您可以设置单元格的NumberFormat

Range("E" & destRow).NumberFormat = "m/d/yyyy"

编辑

价值本身不会改变。 你可以“削减”价值:

 Left(Range("E" & destRow).Value, 10) 

您可以从Range对象获取的最丰富的信息是Range.Value2属性 ; 这将有效地返回一个double,因为你的单元格同时包含date(整数)和时间(小数整数,双精度)。 将.Value2的小数部分作为一个整数去掉。

 dest.Range("E" & destRow) = Int(src.Range("F" & i).VALUE2) dest.Range("E" & destRow).numberformat = "mm/dd/yyyy" 

以Range.NumberFormat属性显示的格式返回date。

请注意,这是类似的另一个答案,但时间实际上剥离了单元格的值,不是留在那里,但没有显示。