【问题标题】:Update changes without deselecting/reselecting checkbox更新更改而不取消选择/重新选择复选框
【发布时间】:2018-06-21 06:07:35
【问题描述】:

我试图在以下情况下自动更新显示的复制和粘贴范围:1) 复选框为 TRUE 和 2) 当 ComboBox1 中的值发生变化时(在本例中从 OPEN 变为 CLOSED,反之亦然)。 代码按预期工作,但在更改为 OPEN 或 CLOSED 后,我必须取消选择并重新选择复选框,这就是我要克服的问题。

当 Checkbox 为 FALSE 时,将执行一组不同的执行(在代码中注释掉)。所以我想在复选框为真时进行更改。

我试图实现一个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

感谢您的帮助!!!!

【问题讨论】:

  • 将代码放在ComboBox更改事件中,然后评估复选框是否为TRUE/FALSE
  • 感谢您的捕获,完全忽略了这一点。问题已解决
  • Scott,指的是注释掉的代码,现在当我取消选中该复选框时,新列表不会出现。你有什么想法吗?
  • 我认为这两个事件都需要代码。可能最好编写一个或多个单独的过程并在事件代码中调用它们,为复选框传递TRUE / FALSE,为组合框传递Open/Closed

标签: excel checkbox combobox auto-update vba


【解决方案1】:

已更改Private Sub Checkbox1_Change()

Private Sub ComboBox1_Change()

谢谢斯科特

【讨论】:

    猜你喜欢
    • 2021-05-05
    • 2021-06-09
    • 1970-01-01
    • 2010-12-20
    • 2011-09-29
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多