我如何在vba中正确格式化

时间:2017-09-09 15:57:46

标签: excel excel-vba colors cell vba

这很好但我试图学习如何正确地格式化它,就像正常的函数与xls宏生成的代码看起来一样。在这里,我将过滤此列中黄色的所有行。

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>

<div id="app">
  <input type="text" v-model="val1"/>
  <div>Val1 Modification count: {{ val2 }}</div>
</div>

这不起作用

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

也不是这个

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

2 个答案:

答案 0 :(得分:2)

除非要返回值,否则不要在参数列表中添加括号。

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

参数值必须处于预期的“正常”顺序。如果您打算在“乱序”中添加它们,那么命名参数会将正确的值放入正确的参数中。

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

某些VBA函数会返回有用的值。在这些情况下,请在参数列表中使用括号。

FakeClass.java

在这种情况下,无论.AutoFilter是否显示记录,r都为True。

答案 1 :(得分:0)

使用子程序很简单。

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