【发布时间】:2015-07-17 12:08:54
【问题描述】:
我正在寻找一种可以将 Excel 工作表中的特定范围复制到新工作表的模型。目前我有五列。第一列是年份。例如,我想用inputbox指出应该复制哪一年。在 B 栏中,显示了一年中的星期几。在 C 到 E 列中,记录了特定数据。结果,我的工作表如下所示:
Col A Col B Col C Col D ColE
Year Week Amount time forecast
2000 1 368 2000w1 400
2000 2 8646 2000w2 8500
until...
2014 52 46546 2014w52 47000
通过输入框,我想表明应该将 2014 年复制到下一张表中。到目前为止,我编写/编译了以下宏:
Sub Copy_year()
Dim Forecastyear As String
Dim Rng As Range
Forecastyear = InputBox("Enter a year to forecast")
If Trim(Forecastyear) <> "" Then
With Sheets(2).Range("A:A")
Set Rng = .Find(What:=Forecastyear, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Application.Goto Rng, True
Else
MsgBox "Nothing found"
End If
End With
End If
'Range(ActiveCell, RC[52,4]).Select
End Sub
这会选择包含年份值的第一个单元格。我想为具有所选单元格的行和接下来的 51 周(共 52 周)选择完整的 5 列。我怎样才能选择所有这些数据?
【问题讨论】:
-
数据是否总是排序的?
-
是的,数据总是按时间顺序排列的,接下来数据按星期顺序排列的第二列排序。