仅在单元格中复制数据值
任何人都知道如何复制单元格中的数据,不包括格式? 就像数据本身是唯一的值将被复制。 我试过这些,但不工作。
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。
请注意,这是类似的另一个答案,但时间实际上剥离了单元格的值,不是留在那里,但没有显示。