如何在VBA excel中复制特定次数的数据?
假设我在单元格如何在VBA excel中复制特定次数的数据?,vba,excel,Vba,Excel,假设我在单元格A1中有名为“Max”的数据,我想将A1的值复制120次。然后我在A121单元格中有另一个数据,叫做Ben,我想复制400次。等等 我不会总是复制120次或400次。有时是100倍,有时是500倍,或1000倍。我必须对许多数据进行处理。 我已经用过了 Range("A1").Copy Range("A120") Range("A121").Copy Range("A279") 但是我认为它没有那么有效,因为我必须计算我想要复制数据的次数和最后一行的数量之间的差异。 如果你不明白
A1
中有名为“Max”
的数据,我想将A1
的值复制120次。然后我在A121单元格中有另一个数据,叫做Ben,我想复制400次。等等
我不会总是复制120次或400次。有时是100倍,有时是500倍,或1000倍。我必须对许多数据进行处理。
我已经用过了
Range("A1").Copy Range("A120")
Range("A121").Copy Range("A279")
但是我认为它没有那么有效,因为我必须计算我想要复制数据的次数和最后一行的数量之间的差异。
如果你不明白,看看我的案子。我已经复制了“Max”
120次,它以单元格A120
结尾。当我尝试继续复制“Ben”
400次时,我必须知道它应该结束哪个单元格,在本例中是A279
。通过减去400-121(Max最后一个单元格后的1个单元格),我得到了A279
。如果我要复制更多的价值,我就不能这么做。这是无效的
所以,问题是。有没有办法只提供您想要复制的次数来复制单元格的值?这是对您问题的严格回答
有没有办法只提供如何复制单元格的值
你想复制多少次
是:
其中:
单元格
,是一个变量,它包含对仅由一个单元格组成的范围的有效引用
nTimes
,是您希望复制单元格
值的次数,该值从单元格
本身开始,向下延伸到其下方的(nTimes
-1)单元格
我不确定我是否理解你的问题,但这是否有效:Range(“A1”).Copy Range(“A1:A120”)和Range(“A121”).Copy Range(“A121:A400”)
(或Range(“A121”).Copy Range(“A121:A279”)
取决于你想要什么)?你可能想链接“after”和“before”让我们了解你的目标。例如,代码如何知道它必须粘贴一个值多少次?
cell.Resize(nTimes).Value = cell.Value