이 코드가 정중하지 않아서 알 수없는 규칙으로 내 열을 숨기는 이유는 무엇입니까? CBool로 숨기기 열이 작동하지 않습니다.
for c = 1 to .columns.count
.columns(c).entirecolumn.hidden = not cbool(application.counta(.columns(c)))
그
V1
Sub EmptyCol()
Call UnlockS
Dim Table As Range: Set Table = Range("O_List")
Dim Col As Range
Dim Emp As Boolean
Dim c As Long
'Table.Columns.hide = False
With Table
For c = 4 To .Columns.Count
Set Col = .Columns(c)
If (Application.CountIf(Col, "")) = (.Rows.Count) Then Emp = True
.Columns(c).EntireColumn.Hidden = CBool(Emp)
Next c
End With
Call L_ORDER
End Sub
내 이전 게시물에서 코드를 편집 할 수 있지만 지금은 그것이 작동하지 않는 것을 알고있다. 빈 칸도 숨 깁니다. Thx 당신의 도움.
매 루프마다 Emp가 false로 재설정되지 않습니다. 그러나 Emp를 전혀 사용할 필요가 없습니다. Emp가 부울이기 때문에'CBool (Emp)'도 중복됩니다. 대신에 If (Application.CountIf (Col, "")) ... 등등을 시도해보십시오 .Columns (c) ... etc.Hidden = True : End If' –
thx, 그냥 new function =)을 배우고 싶습니다. ,하지만 여전히'(Application.CountA (.Columns (c)) = 0)'이'rows.count' 값을 반환하고 True 값을주는 방식을 이해하지 못합니다. 그렇지 않다면 아래 답변이 잘못되었습니다 .-) –