Excel 更新更改而不取消选择/重新选择复选框
当1)复选框为TRUE,2)ComboBox1中的值更改(在本例中是从打开更改为关闭,反之亦然)时,我试图让显示的复制和粘贴范围自动更新。 代码按预期工作,但在我更改为打开或关闭后,我必须取消选择并重新选择复选框,这就是我试图克服的问题 当复选框为FALSE时,将执行一组不同的执行(在代码中注释掉)。所以我想在复选框为TRUE时进行更改 我曾尝试实现一个while循环,但最终陷入了循环中 代码如下:Excel 更新更改而不取消选择/重新选择复选框,excel,checkbox,combobox,auto-update,vba,Excel,Checkbox,Combobox,Auto Update,Vba,当1)复选框为TRUE,2)ComboBox1中的值更改(在本例中是从打开更改为关闭,反之亦然)时,我试图让显示的复制和粘贴范围自动更新。 代码按预期工作,但在我更改为打开或关闭后,我必须取消选择并重新选择复选框,这就是我试图克服的问题 当复选框为FALSE时,将执行一组不同的执行(在代码中注释掉)。所以我想在复选框为TRUE时进行更改 我曾尝试实现一个while循环,但最终陷入了循环中 代码如下: Private Sub Checkbox1_Change() If Checkbox1.Valu
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\u Change()
到
谢谢Scott将代码放入
组合框
更改事件中,然后评估复选框是否为真/假
。谢谢你的关注,我完全忽略了这一点。问题解决了,参考注释掉的代码,现在当我取消选中复选框时,新列表不会出现。你知道为什么吗?我想你需要两个事件的代码。可能最好编写一个或多个单独的过程,并在事件代码中调用它们,为复选框传递TRUE/FALSE
,为组合框传递Open/Closed
。
Private Sub ComboBox1_Change()