将一个var的完整行复制到其他var

时间:2011-10-04 08:17:29

标签: excel excel-vba vba

我有这样的变种

 ranging from var(1,42) to var(4000,42)

我根据要求做了一些操作,用0和1填充了var的第42列。现在我只需要将那些var行导入到第42列中包含1的工作表。这些是我编码的

t=1
For i = 1 to 4000
      If var(i,42) = 1  Then
         For k = 1 to 41
           var2(t,k) = var(i,k)
         Next k
         t = t + 1
      End If
Next i

我认为将所需行从一个var复制到另一个new_var,我正在使用类似这样的循环

for k = 1 to 41 ' the inner loop

但是这里的人说循环是耗时的。他们甚至说它编写代码的风格很糟糕,但是我找不到将一个var复制到其他var的更好方法,我的意思是只需要所需的行。我想我必须将一个var的第30行内容复制到其他var,然后我使用循环从1到41复制列内容,但有没有像将整行var复制到另一个var?

2 个答案:

答案 0 :(得分:3)

尼科,

循环范围很慢 - 循环变体数组非常快。它肯定不是坏代码!

你的方法很好。

因此,与Is it possible to dump a certain range of variant into the sheet?中的解决方案相同的方法可供您使用。它将50,000个单元格写入第二个数组,然后在不到一秒的时间内将其转储到工作表中

答案 1 :(得分:1)

你问:

  

有没有像将整行var复制到另一个var? [大概是在一个命令中]

答案是:不,没有。你的方法是我唯一知道的。