vba specialcells可见定义范围

时间:2017-03-23 06:37:07

标签: vba excel-vba range visible excel

我正在尝试使用SUM函数将第一列中的所有可见单元格从sRow添加到dRow(变量是日期范围的起始行和结束行)但是不断收到错误91“对象变量或不带块变量用这行代码设置“

vRange = Range("I" & sRow & ":" & "I" & Row).SpecialCells(xlCellTypeVisible)

我不完全确定为什么会抛出错误,因为这会起作用

visibleSum = Application.WorksheetFunction.Sum(Range("I" & sRow & ":" & "I" & dRow).SpecialCells(xlCellTypeVisible))

我试图让这段代码将范围“I,开始日期”的总和返回到“I,结束日期”,只计算正数。

            ActiveSheet.ListObjects("Table_Query_from_TCM95").Range.AutoFilter Field:=6, Criteria1:="10"

        vRange = Range("I" & sRow & ":" & "I" & dRow).SpecialCells(xlCellTypeVisible)
        visibleSum = Application.WorksheetFunction.Sum(vRange, ">0")
        MsgBox (visibleSum)

编辑 - 感谢您的评论!两人都有所帮助:D

最终,这会计算每个部门工作的时间,每个部门都有自己的编号。 10,20等。当我为部门95定义我的范围时,第一周没有抛出错误1004的单元格。当可见单元格不包含指定日期范围的数据时,会发生这种情况。我尝试了几个不同的if语句:

If Range("I" & sRow & ":" & "I" & dRow).SpecialCells(xlCellTypeVisible) Is Nothing Then
        Else

            Set vRange = Range("I" & sRow & ":" & "I" & dRow).SpecialCells(xlCellTypeVisible)

            visibleSum = Application.WorksheetFunction.Subtotal(9, vRange)
            MsgBox (visibleSum)
        End If

特别是这一行

Set vRange = Range("I" & sRow & ":" & "I" & dRow).SpecialCells(xlCellTypeVisible)

给出错误1004没有找到细胞

我有8个不同的标准,我必须迭代。我正在考虑一个精选案例,但不确定这是否有效或实际完成我需要的东西。

非常感谢任何想法或提示!! 在此先感谢!!

0 个答案:

没有答案