본문 바로가기

IT 개발 프로그래밍

엑셀 행, 열 숨기기 해제 단축키 안 먹힐때(VBA 코드)

 

Sub UnhideAllRows()
    Dim ws As Worksheet
    Dim row As Range
    
    Set ws = ThisWorkbook.Sheets("Sheet1") ' "Sheet1"을 원하는 시트 이름으로 변경하세요.

    For Each row In ws.Rows
        If row.Hidden Then
            row.Hidden = False ' 숨겨진 행을 하나씩 해제
        End If
    Next row
End Sub

 

 

위는 하나의 시트에 대해 행 숨기기를 해제하는 코드이다

4번째 줄에서 sheet이름을 지정해 주어야 한다.

 

아래 코드 사용을 추천한다.

 

 

Sub ForceUnhideAllRowsAndColumns_AllSheets()
    Dim ws As Worksheet
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    For Each ws In ThisWorkbook.Sheets
        
        ' 보호 해제 (비밀번호 있으면 수정)
        On Error Resume Next
        If ws.ProtectContents Then
            ws.Unprotect Password:=""
        End If
        On Error GoTo 0
        
        ' 필터 해제
        On Error Resume Next
        If ws.FilterMode Then
            ws.ShowAllData
        End If
        If ws.AutoFilterMode Then
            ws.AutoFilterMode = False
        End If
        On Error GoTo 0
        
        ' 그룹 펼치기 (Outline)
        On Error Resume Next
        ws.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8
        On Error GoTo 0
        
        ' 숨김 해제
        On Error Resume Next
        ws.Rows.EntireRow.Hidden = False
        ws.Columns.EntireColumn.Hidden = False
        On Error GoTo 0
        
    Next ws
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
    MsgBox "모든 시트의 숨겨진 행과 열이 해제되었습니다.", vbInformation
End Sub

 

 

이 코드는 행 이름 설정할 필요없이 VBA에서 실행만하면 모든 시트의 숨겨진 행과 열이 보여진다

VBA 실행방법은

 

1.  Alt + F11 키를 눌러 VBA 편집기(Visual Basic Editor) 실행 . 

2. VBA 편집기에서 삽입 → 모듈 선택

3. 나타난 코드 창에 VBA 코드 입력

4. F5 키를 눌러 실행

 

하면 된다.