2014-02-27 73 views
1

我是新的寫宏,我完全難以知道如何讓我的命令按鈕只隱藏和取消隱藏那些空白內的列我的範圍。Excel 2010宏用於創建按鈕,隱藏範圍內的所有空白列

我已經得到了我的命令按鈕,並編寫了用於隱藏和取消隱藏所有列的宏,並且可以完美地隱藏所有列。但我不知道如何合併一個參數,以便我的用戶在電子表格中輸入數據時,它只會隱藏/取消隱藏空白列,而不是任何有數據輸入的列。

我的隱藏/取消隱藏命令按鈕代碼是這樣輸入的。沒有什麼會通過列「CW」輸入。第一個數據將被輸入到「B」欄。

Private Sub HideColumnsButton_Click() 

    If HideColumnsButton.Caption = "Hide Blank Columns" Then 
     Columns("B:CW").Select 
     Selection.EntireColumn.Hidden = True 
     HideColumnsButton.Caption = "UnHide Blank Columns" 
    Else 
     Columns("B:CW").Select 
     Selection.EntireColumn.Hidden = False 
     HideColumnsButton.Caption = "Hide Blank Columns" 
    End If 

End Sub 

回答

0

這應該有助於引導您走向正確的方向。要隱藏列:

Application.ScreenUpdating = False 
Dim rng As Range 
For Each rng In Range("A1:CW1") 
    If WorksheetFunction.CountA(rng.EntireColumn) = 0 Then 
     rng.EntireColumn.Hidden = True 
    End If 
Next rng 
Application.ScreenUpdating = True 
+0

這是工作正是因爲我想除了現在我在取消隱藏一塊寫,使得用戶可以擴展爲額外的輸入空白單元格,我的思念如何將一個「停止」或兩者之間的「暫停」功能,以便我的宏不會隱藏並立即取消隱藏列。想法? – user3361525

+0

For ...隱藏應該是If條件之後的結果,並且在Else語句之後添加另外一個For ... Next .Hidden = False,以便您的代碼根據按鈕標題作出決定。 – 2014-02-27 19:01:43