【Excel】使用宏显示所有行、列

故障:
Excel中使用鼠标右键显示隐藏内容无效

使用宏解决故障:

Sub ShowAllRowsAndColumns_Strong()
    Dim ws As Worksheet
    Dim lo As ListObject
    
    Set ws = ActiveSheet
    
    ' 如果工作表被保护,先解除保护(无密码)
    If ws.ProtectContents Then
        ws.Unprotect
    End If
    
    ' 关闭自动筛选
    If ws.AutoFilterMode Then
        ws.AutoFilterMode = False
    End If
    
    ' 取消表格中的筛选
    For Each lo In ws.ListObjects
        If lo.ShowAutoFilter Then
            lo.AutoFilter.ShowAllData
        End If
    Next lo
    
    ' 取消隐藏行
    ws.Rows.Hidden = False
    
    ' 取消隐藏列
    ws.Columns.Hidden = False
    
    ' 修复行高为 0 的情况
    On Error Resume Next
    ws.Rows.RowHeight = 15 ' 可改成你常用的行高
    On Error GoTo 0
    
    ' 修复列宽为 0 的情况
    On Error Resume Next
    ws.Columns.ColumnWidth = 8.43 ' 默认列宽
    On Error GoTo 0
    
    MsgBox "已完成:所有隐藏/筛选/压缩的行和列已恢复显示。", vbInformation
End Sub

💬 评论 (0)

发表评论

支持 Markdown · 请遵守评论规范