根据移动数据创建范围

时间:2017-08-10 15:19:45

标签: excel excel-vba excel-formula linear vba

这是我关于VBA主谋的Stack Overflow的第一篇文章。

我正在处理一个从* .csv导入数据的宏,并执行各种复杂的数学活动并发出最终的" YES"或"否"基于数据。

我的问题是无法根据仅包含最近48小时数据的列创建线性估算。  目前我正在使用硬编码输入来确认数学检查与其他来源的说法。

=LINEST(Workspace!AL223:AL250,Workspace!AK223:AK250)

我遇到的问题是每次导入新数据时,此功能只需要在我有数据的列上运行。 列本身在时间参考数据之前保留空白单元格。

我需要帮助的是VBA中的一个方法,只有一个单元格引用数据存在的范围。

所以我的最终输出就是说... ...

Range("C100").value = "=LINEST(Workspace!$A$TopRow:$A$LastRow,Workspace!$B$TopRow:$B$LastRow)"

编辑:

就配置一些SpecialCells而言,我对VBA不是很熟悉,但我相信很好的是有一个if语句可以查看整个列,然后只将数据传递给LINEST语句。只有空白单元格(公式返回""如果不是48小时内)和48小时内的值。

1 个答案:

答案 0 :(得分:0)

好的,这不是一个真正的答案,但我无法在评论中发布。看看这是否是你需要的东西。你必须建立字符串,确保从引号中删除变量,否则它们将按字面解释。

Sub x()

Dim TopRow As Long, LastRow As Long

TopRow = 10
LastRow = 250

Range("C1").Formula = "=LINEST($A$" & TopRow & ":$A$" & LastRow & ",$B$" & TopRow & ":$B$" & LastRow & ")"

End Sub