【发布时间】:2020-05-26 06:45:43
【问题描述】:
我目前正在处理一个宏,它应该从一个工作表中选择一行应力数据并将其粘贴到另一个工作表的表格中,然后选择相应的应变数据(在下面的一行中找到)并粘贴它在同一张桌子上。
工作表 ImportTXT 中数据的初始起始位置始终相同(第 51 行),工作表 ExtractData 中的表应始终位于相同位置同样,粘贴总是从“D8:I8”开始。我想写它以便它运行直到有空白单元格(所以直到最后,无论有多少行应力和应变),因为数据的长度可以范围(单元格引用(即“直到第 122 行" 将不存在;不会总是固定数量)。
到目前为止我的重复代码:
Sub CutCopyPasteData()
Worksheets("ImportTXT").Range("B51:G51").Copy Worksheets("ExtractData").Range("D8:I8")
Worksheets("ImportTXT").Range("D52:G52").Copy Worksheets("ExtractData").Range("J8:M8")
Worksheets("ImportTXT").Range("B53:G53").Copy Worksheets("ExtractData").Range("D9:I9")
Worksheets("ImportTXT").Range("D54:G54").Copy Worksheets("ExtractData").Range("J9:M9")
Worksheets("ImportTXT").Range("B55:G55").Copy Worksheets("ExtractData").Range("D10:I10")
Worksheets("ImportTXT").Range("D56:G56").Copy Worksheets("ExtractData").Range("J10:M10")
End Sub
这些只是前三行,但是您可以看到“Bx:Gx”和“Dx:Gx”增加了 2,“Dx:Ix”和“Jx:Mx”增加了 1。
组织形式的数据图像:
An image of the table output with first three rows
如果有任何 for 循环或 do until 循环可以动态更新单元格引用并复制所有数据,那么这将是我的目标。谢谢。
【问题讨论】:
-
@Tim Williams 的回复非常有效。谢谢!