忽略范围内的公式空白

时间:2017-10-09 12:41:13

标签: excel excel-vba vba

我需要一种方法来将我的范围设置为具有值的所有单元格,但是在我的"空白"细胞我实际上有使细胞空白的公式。

我读了另一个使用

的论坛
[match(2,1/(F6:F55<>""))]

作为忽略Formula Blanks的解决方案,但我不知道如何将其纳入我的代码中,因为它正在寻找范围。

Sub Macro1()
' Macro1 Macro
     Application.Run "ATPVBAEN.XLAM!Regress", Worksheets("analysis 1").[match(2,1/(F6:F55<>""))], _
        Worksheets("analysis 1").[match(2,1/(F6:F55<>""))], False, False, 90, Worksheets("Regression").Range("$A$1") _
        , False, False, False, False, , False
    Range("K1").Select
End Sub

使用

Range(Range("F6"), Range("F55").End(xlDown)).Select

会因为它在范围内有空白而给我一个错误。

1 个答案:

答案 0 :(得分:0)

我得出的结论是使用一个用CountIf值编译的Offset。 CountIf将输出我范围内的值数。将其与OffSet一起使用将有效地选择具有值的范围。

Sub Macro1()
' Macro1 Macro
    Dim n As Range
' D67 is a CountIf in order to find the number I plan to OffSet
    Set n = Worksheets("Data Input & Summary").Range("D67")
     Application.Run "ATPVBAEN.XLAM!Regress", Worksheets("analysis 1").Range(Range("F6"), Range("F6").End(xlDown).Offset(-n)), _
        Worksheets("analysis 1").Range(Range("G6"), Range("G6").End(xlDown).Offset(-n)), False, False, 90, Worksheets("Regression").Range("$A$1") _
        , False, False, False, False, , False
    Range("K1").Select
End Sub