我需要有关VBA宏的帮助。我试图删除隐藏的表行,以及表头来合并多个表的范围。它们作为单独的宏工作,但是当我将宏放在一起时,我得到运行时错误' 1004':Range类的Delete方法失败:
Sub delHR()
' Hide table header rows
Rows("14:15").EntireRow.Hidden = True
Rows("26:27").EntireRow.Hidden = True
' Delete unselected, i.e. hidden table rows
Dim hR As Long
Dim lastRow
lastRow = 50
For hR = lastRow To 1 Step -1
If Rows(hR).Hidden = True Then Rows(hR).EntireRow.Delete
Next
End Sub
我已经尝试将表转换为范围(我只需要从表中选择要使用的行)但是取消隐藏未选择的行,我需要保留这些行以便删除它们。谢谢。
答案 0 :(得分:2)
指定已寻址的行,以便vba知道:
(改变'ActiveWorkbook'和您需要的工作表)
Sub delHR()
With ActiveWorkbook.Worksheets("Temp")
' Hide table header rows
.Rows("14:15").EntireRow.Hidden = True
.Rows("26:27").EntireRow.Hidden = True
' Delete unselected, i.e. hidden table rows
Dim hR As Long
Dim lastRow
lastRow = 50
For hR = lastRow To 1 Step -1
If .Rows(hR).Hidden = True Then .Rows(hR).EntireRow.Delete
Next
End With
End Sub