我正在尝试将特定范围内的值从一张纸复制到另一张纸。在将值粘贴到新工作表时,应该按照预定义的顺序粘贴值。







我已经创建了程序,但是在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()之类的函数中使用逗号,但使用冒号指定范围。

08-05 15:23