【发布时间】:2017-03-06 05:25:42
【问题描述】:
我想将一个工作表中的一系列值复制到另一个工作表的指定范围内,而值始终来自上一个工作表(在工作表行中),即使在复制工作表之后也是如此。我正在使用以下内容将值从一个工作表复制到另一个工作表,这似乎可行:
Sub Copy_ultimo_stock()
'copy values between two periods
Worksheets("Period2").Range("test3").Value = Worksheets("Period1").Range("test2").Value
End Sub
我必须为单元格范围命名(test2 和 test3),因为如果我使用像“R10:S11”这样的实际单元格范围,宏将不起作用。然而,在未来,我只想将单元格范围用作“R10:S11”。
然而,我的实际问题如下。如果我将来复制我的工作表(用于未来期间),我希望我总是从 previous 工作表中复制单元格范围。我现在的做法是,如果我复制工作表 period2,并将其称为 period6,它仍会从 period1 工作表中复制值。但是,我希望当前工作表“n”将复制工作表“n-1”范围内的值。
我找到了一种可能有所帮助的类似方法,但我无法将两个宏合并为一个。这种方法就在这里:
Function PrevSheet(rCell As Range)
Application.Volatile
Dim i As Integer
i = rCell.Cells(1).Parent.Index
PrevSheet = Sheets(i - 1).Range(rCell.Address)
End Function
【问题讨论】: