2013-02-17 213 views
0

我不知道是否有人也许能够帮我请:VBA粘贴范围

我使用下面的代码(我有一些帮助),如果从一个工作表复制数据行另一一个给定的细胞范围符合一个公式结果。

Sub test() 
    Set Sht = Sheets("Sheet 1") 
    rw = 5 
    Do While Len(Sht.Cells(rw, "A").Value) > 0 
     If Sht.Cells(rw, "B").Value > 0 Then 
      ResourcesAllUsed = True 
      For colm = 3 To 25 Step 2 
       If (Sht.Cells(rw, colm + 1).Value < (Sht.Cells(rw, colm).Value * 0.85)) Or (Sht.Cells(rw, colm + 1 + 25).Value < (Sht.Cells(rw, colm + 25).Value * 0.85)) Then 
        ResourcesAllUsed = False 
        Exit For 
       End If 
      Next colm 
      If Not ResourcesAllUsed Then 
       With Sheets("Sheet 2") 
        NextRw = .Cells(.Rows.Count, "A").End(xlUp).Row + 1 
        .Cells(NextRw, "A").Resize(, 26).Value = Sht.Cells(rw, "A").Resize(, 26).Value 
        .Cells(NextRw, "AD").Value = Sht.Cells(rw, "AD").Value 
       End With 
      End If 
     End If 
     rw = rw + 1 
    Loop 
    End Sub 

复制工作正常,但我开始粘贴的行有点麻烦。

我想从“A5”开始粘贴,但由于某种原因,粘贴从“A2”开始。

我只是想知道是否有人能够看到这个请让我知道我要去哪里错了。

许多的感谢和亲切的问候

回答

0

NextRow变量设置为A2通过循环,这意味着唯一的数据是A1(或没有什么在A1要么)的第一次。迫使它在A5开始,你可以改变行:

NextRw = Application.WorksheetFunction.Max(.Cells(.Rows.Count, "A").End(xlUp).Row + 1,5) 

这意味着你(1)至4

+0

嗨@Doug克兰西2有行空白单元格,谢谢你非常花时间回复我的帖子。您的解决方案很好。 所有最好的和亲切的问候 – IRHM 2013-02-17 15:57:45