0
1/2012 36.5
2/2012 37.1
3/2012 37.5
4/2012 37.9
5/2012 38.0 
6/2012 38.1
7/2012 38.3

我有一个时间序列(日期作为第一列,值作为第二列)。我试图从顶部选择系列的前 5 个值,将其复制并粘贴到 excel 文件中的第二个工作表中,然后返回到第一个工作表,获取该系列的下五个值,转到下一个工作表并将 5 个值作为下一列。所以我试图在下一张纸上并排堆叠 5 个系列。我怎么做?

到目前为止,我一直在同一页面上尝试这个过程,这就是我到目前为止的位置。

Range(ActiveCell, ActiveCell.Offset(5, 0)).Copy
ActiveCell.Offset(0, 5).PasteSpecial
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.End(xlToLeft).Select
Range(ActiveCell, ActiveCell.Offset(5, 0)).Copy
ActiveCell.Offset(0, 5).PasteSpecial

任何帮助,将不胜感激。我再次尝试将系列并排堆叠,长度为 5。谢谢!

4

1 回答 1

0
Sub TT()

Const BLOCK_SIZE As Long = 5
Dim rng As Range, rngDest As Range

    Set rng = ActiveCell.Resize(BLOCK_SIZE, 1)
    Set rngDest = ActiveSheet.Parent.Sheets(2).Range("A1")

    Do While Application.WorksheetFunction.CountA(rng) > 0
        rngDest.Resize(BLOCK_SIZE, 1).Value = rng.Value
        Set rng = rng.Offset(BLOCK_SIZE, 0)
        Set rngDest = rngDest.Offset(0, 1)
    Loop

End Sub
于 2012-11-07T00:18:47.940 回答