更新更改而不取消选中/重新选择复选框

时间:2018-01-11 20:10:19

标签: excel excel-vba checkbox combobox auto-update vba

我试图让复制和粘贴范围显示为自动更新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

感谢您的帮助!!!!

1 个答案:

答案 0 :(得分:0)

更改了Private Sub Checkbox1_Change()

Private Sub ComboBox1_Change()

谢谢Scott