如果没有阻止,vba结束

时间:2017-05-23 13:21:56

标签: excel vba excel-vba

我不断收到此错误,但无法弄清楚原因。看起来遵循所有规则。

我读到的结构如下 - If - > ElseIf - >万一。但是在这里我得到了一个错误,虽然它都是一样的。

Sub hide()
        Application.ScreenUpdating = False
        Dim wRange As Range
        Set wRange = Range("A5:B10")

        Dim mergedRows As Integer
        Dim mergedColumns As Integer

        Dim cellFirst As Range

        For Each cell In wRange
            If IsEmpty(cell) Then
                cell.EntireRow.Hidden = True
            ElseIf cell.MergeCells Then
                mergeRows = cell.MergeArea.Rows.Count
                mergeColumns = cell.MergeArea.Columns.Count
                With cell.MergeArea
                    Set cellFirst = cell.MergeArea(Cells(1, 1))
                    If IsEmpty(cellFirst) Then
                        cellFirst.EntireRow.Hidden = True
                    End If
            End If
        Next
End Sub

1 个答案:

答案 0 :(得分:2)

您还需要关闭 With 语句。

With cell.MergeArea
   Set cellFirst = cell.MergeArea(Cells(1, 1))
   If IsEmpty(cellFirst) Then
      cellFirst.EntireRow.Hidden = True
   End If
End With