我试图让复制和粘贴范围显示为自动更新1)复选框为TRUE 2)当ComboBox1中的值发生变化时(在这种情况下从OPEN变为CLOSED,反之亦然)。 代码按预期工作,但在更改为OPEN或CLOSED后,我必须取消选择并重新选中复选框,这正是我想要克服的。
当Checkbox为FALSE时,执行一组不同的执行(在代码中注释掉)。所以我想在Checkbox为TRUE时进行所有更改。
我试图实现一个while循环,但最终陷入了循环。
以下是代码:
Private Sub Checkbox1_Change()
If Checkbox1.Value = True Then
ComboBox1.List = Array("Closed", "Open")
With ComboBox1.Value = "Open"
Worksheets("FSM Search Data").Range("$A$1:$AD$2000").AutoFilter Field:=4, Criteria1:=Worksheets("FSM Search").ComboBox1.Value
Worksheets("FSM Search Data").Range("B2:AD2000").SpecialCells(xlCellTypeVisible).Copy
AutoFilterMode = False
Worksheets("FSM Search").Activate
Worksheets("FSM Search").Range("B4").PasteSpecial xlPasteValues
Range("B1:AD5").Columns.AutoFit
End With
With ComboBox1.Value = "Closed"
Worksheets("FSM Search Data").Range("$A$1:$AD$2000").AutoFilter Field:=4, Criteria1:=Worksheets("FSM Search").ComboBox1.Value
Worksheets("FSM Search Data").Range("B2:AD2000").SpecialCells(xlCellTypeVisible).Copy
AutoFilterMode = False
Worksheets("FSM Search").Activate
Worksheets("FSM Search").Range("B4").PasteSpecial xlPasteValues
Range("B1:AD5").Columns.AutoFit
End With
End If
'If Checkbox1.Value = False Then
'With Worksheets("FSM Data")
'ComboBox1.List = .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row).Value
'Worksheets("FSM Search").Activate
'Range("C4").Value = ComboBox1.Value
'Range("B1:AD5").Columns.AutoFit
'End With 'End If End Sub
感谢您的帮助!!!!
答案 0 :(得分:0)
更改了Private Sub Checkbox1_Change()
到
Private Sub ComboBox1_Change()
谢谢Scott