我正在尝试将特定范围内的值从一张纸复制到另一张纸。在将值粘贴到新工作表时,应该按照预定义的顺序粘贴值。
我已经创建了程序,但是在For循环的定义中出现错误。请注意,在此示例中,Num_Tacksta = 2,m = 9(这两个是变量)。
Sub New_Try(m)
Dim n, i, j, x, k, a, rowinres, Num_Tacksta, Num_TackMul As Variant
Num_Tacksta = Sheets("ALLO").Range("E4").Value
Num_TackMul = (Sheets("ALLO").Range("E4").Value) * 2
x = Sheets("ALLO").Range("E4").Value
For rowinres = 2 To Num_Tacksta Step 1
For i = 2 To Num_TackMul Step 2
Sheets("Final").Range("A" & rowinres &, ",M" & rowinres).Copy Destination:=Sheets("Results").Range("A" & i)
rowinres = rowinres + 1
Next i
For j = 3 To Num_TackMul Step 2
Sheets("Dummy_Result").Range("A" & rowinres &, ",M" & rowinres).Copy Destination:=Sheets("Results").Range("A" & j)
rowinres = rowinres + 1
Next j
For k = Num_TackMul + 1 To m Step 1
Sheets("Dummy_Result").Range("A" & rowinres &, ",M" & rowinres).Copy Destination:=Sheets("Results").Range("A" & k)
rowinres = rowinres + 1
Next k
Next rowinres
End Sub
就我对VBA的基本了解而言,我认为问题出在这
Sheets("Dummy_Result").Range("A:M" & rowinres).Copy Destination:=Sheets("Results").Range("A" & j)
行中。我也想问一下是否有任何简单的方法可用。我是编程和堆栈溢出的新手。在这方面帮助我会非常有帮助!
我先谢谢你们
最佳答案
在复制范围内尝试用冒号而不是逗号:
Sheets("Results").Range("A" & rowinres & ":M" & rowinres).Copy Destination:=Sheets("Final").Range("A" & i)
在SUM()之类的函数中使用逗号,但使用冒号指定范围。