0
我不斷收到此錯誤,但無法弄清楚爲什麼。它看起來像遵守所有規則。vba結束如果沒有塊如果
我讀的結構如下 - If - > ElseIf - > End If。但是在這裏我得到一個錯誤,儘管它們都是一樣的。
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
在最後一個End If之前鍵入'End With'。在這種情況下,錯誤信息是誤導性的,因爲'With'塊是問題,而不是'If',但隨着時間的推移(並且具有良好的縮進練習,就像你所做的那樣),你會發現這些更快,並且知道什麼尋找:) –
@斯科特霍爾茨曼,謝謝!不知道還有沒有完成。你可能會回答,我會接受。 – Ans
你實際上可以刪除'With cell.MergeArea',因爲你永遠不會實現一個合適的With塊。 (你也不需要)。 –