我如何在VBA中正确格式化这一点



这可以正常工作,但是我试图学习如何更正确地格式化它,就像XLS宏生成的代码看起来一样。在这里,我要过滤此列中所有具有黄色的行。

sheet.UsedRange.AutoFilter field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor

这不起作用

sheet.UsedRange.AutoFilter(1,RGB(255,255,0),xlFilterCellColor)

也不

sheet.UsedRange.AutoFilter(1,RGB(255,255,0),xlFilterCellColor,,)

,除非您要返回值

sheet.UsedRange.AutoFilter 1, RGB(255,255,0), xlFilterCellColor

参数值必须处于预期的"正常"顺序中。如果您打算将它们添加到"订购外"中,则命名参数将正确的值放在正确的参数中。

sheet.UsedRange.AutoFilter Operator:=xlFilterCellColor, Criteria1:=RGB(255, 255, 0), field:=1

一些VBA函数返回有用的值。在这些情况下,使用参数列表上的括号。

dim r as variant
r = sheet.UsedRange.AutoFilter(1, RGB(255,255,0), xlFilterCellColor)
debug.print r

在这种情况下,r是正确的。

使用子过程很简单。

Sub test()
    myFilter Sheet1.UsedRange, 1, RGB(255, 255, 0)
End Sub

Sub myFilter(rng As Range, i As Integer, color As Long)
rng.AutoFilter field:=i, Criteria1:=color, Operator:=xlFilterCellColor
End Sub

相关内容

最新更新