基本上,我在excel中记录了一个宏,根据我拥有的数据集运行回归。但是,我将在更多行中添加新数据。例如,我有16行Y和16行X.在第二天,我将再添加1行Y和X.但是,我的宏只会对前16行中的数据运行回归。如何编程我的宏,以便考虑存在的所有数据行?我的宏代码是:
Sub Regression()
'
' Regression Macro
'
'
Application.DisplayAlerts = False
Sheets("REGRESSION").Select
ActiveWindow.SelectedSheets.Delete
Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$A$1:$A$16"), _
ActiveSheet.Range("$B$1:$F$16"), False, True, , "REGRESSION", False, _
False, False, False, , False
Application.DisplayAlerts = True
End Sub
谢谢!
答案 0 :(得分:2)
您只需要更改此
ActiveSheet.Range("$A$1:$A$16")
到
ActiveSheet.Range("$A$1:$A$" & Range("A" & Rows.Count).End(xlUp).Row)
这样16
将始终替换为上次使用的行号。
注意同样的想法适用于F列
ActiveSheet.Range("$B$1:$F$" & Range("F" & Rows.Count).End(xlUp).Row)