Excel VBA UDF根据特定条件将值分配给范围

时间:2017-07-04 09:47:02

标签: vba excel-vba range excel

这里有关于Stack Overflow的第一个问题。我对VBA很陌生,所以请忍受我的问题。

我正在尝试使用用户定义函数运行回归,我想生成两个根据条件过滤的范围变量。

例如,在Sheet1中我有:
X variables in Column A, Y variables in Column B

当X小于0.3时,我想用X和Y运行回归。

之前我尝试使用For循环为代码分配值:

Dim X As Range
Dim Y As Range
Dim i As Integer
Dim j As Integer

j = 1

With ActiveSheet

For i = 1 To 100

    If Cells(i, 1).Value < 0.3 Then

    X(j) = Cells(i, 1).Value
    Y(j) = Cells(i, 2).Value
    End If

j = j + 1

Next i

End With

显然它不起作用,所以我没有进入回归部分。任何人都可以帮我纠正这个吗?

或者,我一直在考虑是否可以先获取整个值范围,然后删除其中一些值。

现在我已经准备好了X和Y:

Set X = Range(Cells(1, 1), Cells(7, 1))
Set Y = Range(Cells(1, 2), Cells(7, 2))

但是我不确定在这些范围变量中删除(不将它们设置为0或为空)某些单位的可能方法。也有人可以帮我这个吗?

感谢大家帮助我。

0 个答案:

没有答案