gpt4 book ai didi

excel - 如何使用 VBA 将一张纸范围内的值复制到预定义订单上的另一张纸上?

转载 作者:行者123 更新时间:2023-12-02 21:17:12 25 4
gpt4 key购买 nike

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

<小时/>

我已经创建了程序,但是 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) 行。我还想问一下有没有简单的方法。

我是编程新手,也是 Stack Overflow 新手。在这方面帮助我真的很有帮助!我先谢谢你们了。

最佳答案

在复制范围中尝试使用冒号而不是逗号:

Sheets("Results").Range("A" & rowinres & ":M" & rowinres).Copy Destination:=Sheets("Final").Range("A" & i)

逗号用于 SUM() 等函数,但冒号用于指定范围。

关于excel - 如何使用 VBA 将一张纸范围内的值复制到预定义订单上的另一张纸上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53297535/

25 4 0
文章推荐: c# - 按属性和这些属性的有序数组对 IEnumerable 进行排序