这是我第一次使用该网站,请原谅我的任何无能解释。我有一个工作宏来根据行的内容隐藏/取消隐藏行,我只是希望它更快。使用复选框,当框中检查框时,所有D列中的“ X”的行都没有,那些没有“ X”的行被隐藏了。未选中时会发生同样的事情,除了它引用 C 列,而不是 D 列。
现在,这段代码有效。它只是比我想要的慢一点,因为我正在与一群人分享这个。关于如何加快速度的任何想法?我对 VB 非常陌生(互联网非常聪明,而且是一位好老师),但这没关系。我已经改进了代码——在它选择每一行之前,然后引用列,这很糟糕。任何加快速度的想法(最好不移动屏幕)都会很棒。
非常感谢各位,DS
Sub NewLuxCheck()
Dim x As Integer
NumRows = Range("A42", "A398").Rows.Count
Range("A42").Select
If ActiveSheet.Shapes("checkbox2").OLEFormat.Object.Value = 1 Then
For x = 42 To NumRows + 41 Step 1
If Worksheets("Base").Range("D" & x).Value = "x" Then
Worksheets("Base").Range(x & ":" & x).EntireRow.Hidden = False
Else
Worksheets("Base").Range(x & ":" & x).EntireRow.Hidden = True
End If
Next
Else
For x = 42 To NumRows + 41 Step 1
If Worksheets("Base").Range("C" & x).Value = "x" Then
Worksheets("Base").Range(x & ":" & x).EntireRow.Hidden = False
Else
Worksheets("Base").Range(x & ":" & x).EntireRow.Hidden = True
End If
Next
End If
MsgBox ("Done")
End Sub