我在命令按鈕上有這個代碼。一旦列被隱藏,我想通過單擊相同的按鈕來取消隱藏它
Private Sub CommandButton16_Click()
For i = 22 To 145
If Worksheets("Material Masterlist").Cells(3, i).Value = "Quantity" Then
Worksheets("Material Masterlist").Columns(i).Hidden = True
CommandButton16.Caption = "Unhide Quantity"
CommandButton15.Font.Size = 7
End If
Next
End Sub
uj5u.com熱心網友回復:
代替:
Worksheets("Material Masterlist").Columns(i).Hidden = True
和:
Worksheets("Material Masterlist").Columns(i).Hidden = (Not Worksheets("Material Masterlist").Columns(i).Hidden)
uj5u.com熱心網友回復:
似乎要求是Quantity根據 的標題隱藏或取消隱藏具有值的列CommandButton16,而不是基于該列是否已經隱藏。
這是我對要求的理解:
如果
CommandButton16標題=“隱藏數量” (或<>“隱藏數量”,根據需要更改)
1.1。隱藏范圍[V3:EO3]中等于“數量”的任何單元格的列
如果范圍中至少有一個單元格[V3:EO3]等于“數量”,則:
1.2。將CommandButton16標題更改為“取消隱藏數量”
1.3。將CommandButton15字體大小更改為 7如果
CommandButton16標題=“取消隱藏數量”
2.1。取消隱藏范圍[V3:EO3](i)
2.2 中的所有列。將CommandButton16標題更改為“隱藏數量” (根據需要更改)
2.3。將CommandButton15字體大小更改為12 (根據需要更改)
(i) 假設只有 Range[V3:EO3]中等于“Quantity”的單元格列被隱藏。
*否則:* 2.1。取消隱藏范圍[V3:EO3]中等于“數量”的任何單元格的列
試試這個代碼:
Private Sub CommandButton16_Click()
Const kValue As String = "Quantity" 'Use Constants to provide flexibility
Const kHide As String = "Hide "
Const kUnhide As String = "Unhide "
Dim Rng As Range, Cll As Range
Dim blHide As Boolean
Set Rng = Worksheets("Material Masterlist").Cells(3, 22).Resize(1, 124) '1 145 -22 'Set range of cells to be checked
With CommandButton16
If .Caption = kHide & kValue Then
For Each Cll In Rng.Cells
With Cll
If .Value = kValue Then
.Columns.Hidden = True
blHide = True
End If
End With
Next
If blHide Then
.Caption = kUnhide & kValue
CommandButton15.Font.Size = 7
End If
ElseIf .Caption = kUnhide & kValue Then
Rem Use this line if only the columns of cells equal to "Quantity" in Range [V3:EO3] are hidden.
Rng.Columns.Hidden = False
Rem Otherwise use these lines
For Each Cll In Rng.Cells
If Cll.Value = kValue Then Cll.Columns.Hidden = False
Next
.Caption = "Hide Quantity"
CommandButton15.Font.Size = 12 'Change as required
End If
End With
End Sub
使用的資源: Worksheet.Range, With 陳述句
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/338009.html
