将值和数字格式从一个范围复制到另一个范围?

时间:2014-01-27 20:25:47

标签: excel excel-vba vba

我在下面的行中没有出错,我将值从一个范围复制到另一个范围:

ThisWorkbook.Sheets("Output").Range("F" & lastRowOutput + 1 & ":" & "M" & lastRowOutput + 1).Value = projectWb.Sheets("Beställningar").Range("B" & row & ":" & "I" & row).Value

但是当我尝试使用NumberFormat执行相同操作时,我收到一条错误消息:

ThisWorkbook.Sheets("Output").Range("F" & lastRowOutput + 1 & ":" & "M" & lastRowOutput + 1).NumberFormat = projectWb.Sheets("Beställningar").Range("B" & row & ":" & "I" & row).NumberFormat

我真正想要实现的是将值从一个范围复制到另一个范围,并将文本值保留为文本和数字值作为数字。

2 个答案:

答案 0 :(得分:2)

试试这个:

projectWb.Sheets("Beställningar").Range("B" & Row & ":" & "I" & Row).Copy
ThisWorkbook.Sheets("Output").Range("F" & lastRowOutput + 1).PasteSpecial xlPasteValuesAndNumberFormats

答案 1 :(得分:1)

您只需录制一个宏即可获得一般概念:

Range("C12:C13").Select
Selection.Copy
Range("G12").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False