VBA:每周更新的仪表板。 复制Trendline的数据。 EXCEL
我已经设法使用VBA在Excel中创build一个易于更新的仪表板。 这是相当稳固的,但我需要一个每周更新的趋势线添加到这个数据。
我想要的是这样一个macros:
- 将数据写入范围X (例如A1:A5)
- 将范围X的数据复制到范围Y (例如A10:A15)
然后当我再次运行步骤1和2
- 将数据写入范围X (覆盖X A1:A5中的数据)
- 将范围Y的数据复制到范围Y + 1 (例如B10:B15)
重复无限次(每次向右移动一列)
我得到的是,我需要定义列线作为一个整数,然后参考它。 (例如
Sub Trend() Dim i As Integer i = 2 Sheets("Data").Select Range("A1:A5").Select Selection.Copy Sheets("Trendline data").Select ActiveSheet.Cells(1, i).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Data").Select i = i + 1 End Sub
不过重复这个macros并不会增加我对我的。
~~同样在第2列中填充了(Data!A1:A5)中的数据重复~~这是通过更新代码来修复的。
几乎我需要解决的是该行
"Dim i As integer" i = 2
变
"Dim i As integer" i = 3
永久性地重复下一次i = 4,i = 5等
在那之后,我很容易从这个范围创build折线图
谢谢。
编辑:写了我认为会工作,但显然没有
编辑:
那个怎么样?
Sub Trend() Dim i as integer If Sheets("Data").Cells(1,1).Value = "" Then Sheets("Data").Cells(1,1).Value = 1 End if i = Sheets("Data").Cells(1,1).Value Sheets("Data").Select Range("A1:A5").Select Selection.Copy Sheets("Trendline data").Select ActiveSheet.Cells(1, i).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Data").Select Sheets("Data").Cells(1,1).Value = i + 1 End Sub