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

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

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 

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

试试这个:

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

你可以通过简单地录制一个macros来得到大致的想法:

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