我在下面的行中没有出错,我将值从一个范围复制到另一个范围:
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
我真正想要实现的是将值从一个范围复制到另一个范围,并将文本值保留为文本和数字值作为数字。
答案 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