我想过滤大excel表中的行 - 我想只显示具有特定内部颜色的单元格(例如黄色)。 有没有简单的方法呢?我的想法是写一个VBA函数 (simillar是here:
*public function kolory(komorka as range)
kolory-komorka.interior.color
end function*
当我有这个功能时,我能够为每种颜色生成特定的代码,然后用它来过滤它(我甚至可以通过添加选择案例结构来扩展它,这将把这个代码翻译成人类可读的信息)。 不幸的是Excel没有看到我的功能(虽然启用了宏),在很多情况下我无法使用VB编写的代码。
答案 0 :(得分:0)
你的意思是它没有显示在宏窗口中吗?您希望它显示为工作表功能/用户定义的功能吗? 如果要将其用作UDF,则需要具有返回类型并将代码放在常规模块中。代码看起来像
public function kolory(komorka as range) as integer
dim cellColor as integer
cellColor = komorka.interior.color
kolory = cellColor
end function
如果您尝试将此作为独立例程使用,则不能,因为您需要非可选输入(komorka as range
)。它需要从包含function / sub的一些函数中调用,它可以传递komorka
值。一旦有了可以调用kolory
函数的内容,就可以在代码中使用它。代码看起来与上面相同。
答案 1 :(得分:0)
这是您的函数的正确语法:
Public Function kolory(komorka As Range) As Long
kolory = komorka.Interior.Color
End Function
即。删除那些*
并将-
替换为=
。
在Excel工作表中,要返回单元格A1的颜色,请在其他单元格中键入=kolory(A1)
。
当然,如果您只是编写VBA代码,则不需要函数kolory
,因为它只是komorka.Interior.Color
的包装...