2012-01-09 83 views
0

有什么方法可以使这项工作我一直在试图找出几个小时。有不同数量的单元格增量范围VBA

我试图在循环中使用偏移,但我还没有得到它的工作 例如我用X = x.Offset(10,0)和i = i.Offset(5,0)等等

Sub Macro5() 

    Dim i As Range, j As Range, k As Range 
    Dim x As Range, y As Range 
    Dim Num As Integer 

    Num = 94 

    Set x = Sheets("Sum Data").Range("B1:G10") 
    Set j = Sheets("PNA Physical Needs Summary Data").Range("C4:L9") 
    Set i = Sheets("PNA Physical Needs Summary Data").Range("B4:B9") 
    Set k = Sheets("Sum Data").Range("A1") 
    Set p = Sheets("PNA Physical Needs Summary Data").Range("P3:P8") 
    Set e = Sheets("PNA Physical Needs Summary Data").Range("A4:A9") 

    Do 
     x.Copy 
     j.Select 
     Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
     False, Transpose:=True 

     p.Copy i 

     k.Copy e 

     Num = Num - 1 

    Loop Until Num = 0 
End Sub 
+2

回去检查你对原始问题的评论:最好不要过早地提出新问题... – 2012-01-09 23:06:13

+0

[VBA最好的方式来增加循环中最好的方法](http://stackoverflow.com/问题/ 8793782/VBA-什么最最好的方式,以增量在环) – brettdj 2012-01-10 01:58:02

回答

0

我不明白你要做什么,但当前的例程成功地将数据从一组范围复制到另一组。

你是否省略了语句中的Set来更新x和i?以下似乎工作如你所愿

Set x = x.Offset(10,0) 
Set i = i.Offset(5,0) 

如果Set遗漏是不是你的问题,请您的扩展问题,包括完整的代码和遇到的故障的性质。