我是这个网站的新手,对在 excel 中使用 vba 完全陌生。我需要将大约 91 行数据从 Sheet1 复制到 Sheet2。但是,sheet1 的最后一行需要是 sheet2 的第一行。然后 sheet1 的第 90 行成为 sheet2 的第 2 行,依此类推,直到 sheet1 的第 1 行成为 sheet2 上的最后一行,任何人都可以让我知道使用宏执行相同操作的解决方案吗?
问问题
1705 次
3 回答
0
根据范围,这样的代码可以帮助您:
Sheet1.Range("a1").End(xlDown).Copy Sheet2.Range("a1")
于 2012-10-07T20:47:28.583 回答
0
你可以试试下面的代码。我使用了一个简单的数据测试集,其中行A
包含列标题,其余的是数据。这使用 rowA
的数据来确定有多少行(End(xlDown)
部分),因此它仅在该列中没有空白时才有效。它将数据粘贴到Sheet2
,从A2
(再次,假设那里有标题)开始。如果您不需要标题,则可以进行相应调整。
Sub CopyStuff()
Dim MyRange As Range
Dim MySheet As Worksheet
' Declare your variables (adjust MyRange to what you want)
' I used some test data where row A contained headers
' and the data followed
Set CurSheet = ActiveWorkbook.ActiveSheet
Set DestSheet = ActiveWorkbook.Sheets("Sheet2")
Set MyRange = CurSheet.Range("A2:E" & Range("A1").End(xlDown).Row)
' Set the number of rows in your range, minus the headers
RowCount = MyRange.Rows.Count - 1
' Iterate through the rows, pasting in reverse
' This starts pasting at A2, assuming headers are in A1
For i = 1 To RowCount
MyRange.Rows(RowCount + 2 - i).Copy DestSheet.Range("A" & i + 1)
Next i
End Sub
于 2012-10-08T03:12:02.543 回答
0
将 sheet1 数据复制到 sheet2。添加额外的列说'编号(#)'并从第1行开始编号直到最后。然后将过滤器添加到“编号(#)”列并按降序排序。希望有帮助!
于 2017-11-23T14:08:48.573 回答