[英]Excel VBA check cell color with Activecell.Interior.color not working
[英]How to filter Excel cells based on cell interior color?
我想過濾大Excel工作表中的行-我只想顯示具有特定內部顏色(例如黃色)的單元格。 有什么簡單的方法嗎? 我的想法是編寫VBA函數(類似的東西在這里 :
*public function kolory(komorka as range)
kolory-komorka.interior.color
end function*
使用此功能后,我可以為每種顏色生成特定的代碼,然后使用它進行過濾(我甚至可以通過添加選擇案例結構來擴展它,以將該代碼轉換為人類可讀的信息)。 不幸的是,Excel沒有看到我的功能(盡管啟用了宏),並且在許多情況下,我無法使用VB編寫的代碼。
您是說它沒有出現在“宏”窗口中嗎? 您是否希望將其顯示為工作表功能/用戶定義功能? 如果要將其用作UDF,則需要具有返回類型並將代碼放置在常規模塊中。 代碼看起來像
public function kolory(komorka as range) as integer
dim cellColor as integer
cellColor = komorka.interior.color
kolory = cellColor
end function
如果您嘗試將其作為獨立的例程使用,則不能這樣做,因為您需要非可選的輸入( komorka as range
)。 需要從某些包含其可以傳遞komorka
值的函數/子程序中調用它。 一旦有了可以調用kolory
函數的東西,就可以在代碼中使用它。 該代碼將與上面相同。
這是函數的正確語法:
Public Function kolory(komorka As Range) As Long
kolory = komorka.Interior.Color
End Function
即擺脫那些*
並用=
替換-
。
在Excel工作表中,要返回單元格A1的顏色,請在其他某個單元格中鍵入=kolory(A1)
。
當然,如果您只是編寫VBA代碼,則不需要功能kolory
因為它只是komorka.Interior.Color
的包裝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.