For i = 3 To numPer + 3
Sheets("Key Assumptions Generated").Select
Cells(2, i).PasteSpecial
Cells(1, i).Value = l
Set curCell = Worksheets("Key Assumptions Generated").Cells(2, i)
Cells(1, i).NumberFormat = "@"
l = l + 1
Next i
这是我的系数。当我删除' Cells(1,i).NumberFormat =" @"'代码运行正常。但是当我尝试格式化时,循环将停止运行,并且我将使用Range类的PasteSpecial方法获得错误。
答案 0 :(得分:0)
是的,因为您已经发现调整单元格数字格式的行为将取消之前的“跳舞蚂蚁”复制操作。如果没有被复制的东西(即,居住在剪贴板上),你就不能粘贴。
尽管分三步完成所有事情(在任何情况下都会以这种方式更快)。
with workSheets("Key Assumptions Generated")
.Cells(2, 3).resize(1, numper).PasteSpecial
.Cells(2, 3).resize(1, numper).NumberFormat = "@"
.Cells(2, 3).offset(-1, 0) = l
.Cells(2, 3).resize(1, numper).offset(-1, 0).DataSeries Rowcol:=xlRows, Type:=xlLinear, Step :=1
end with