故事起源:
因出貨的隨附檢查票(又稱COA)資料框誤,導致被客戶追殺,有鑒於此作了一點小改善,所以整理了本文當記錄。
為了避免再發,小小的我就發現檢查票是用EXCEL製作跟維護的,就立馬寫了管理規則,透過管理規則導入上下限的防呆機制但是!!!算一算近X千張客製化檢查票ㄝ,怎可能一張一張建立阿。 開始思考使用EXCEL 內建的VBA來建立管理規則得念頭,鑽研了一段時間,發現這類文章,其中中文的文獻其實有點少,當然單純手動新增管理規則的文章就超多,所以筆者決定透過留下本篇文章當作記錄。
物件:RANGE
屬性:FormatConditions
方法:FormatConditions.ADD
MSDN 原文 1.管理規則寫入公式:(2個例子)
1.1公式
ActiveSheet.Range(儲存格位置).FormatConditions.Add Type:=xlExpression, Formula1:="=" & 公式
ActiveSheet.Range(儲存格位置).FormatConditions(1).Interior.ColorIndex = 3 '我是設定公式成立時反紅
1.2引用EXCEL函數
ActiveSheet.Range(儲存格位置).FormatConditions.Add Type:=xlExpression, Formula1:="=" & EXCEL函數
ActiveSheet.Range(儲存格位置).FormatConditions(1).Interior.ColorIndex = 3
2.管理規則寫入格式化內容:
2.1 不介於(xlNotBetween)
ActiveSheet.Range(R1).FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, Formula1:=10, Formula2:=20
ActiveSheet.Range(R1).FormatConditions(1).Interior.ColorIndex = 3
看到此,這樣算VBA寫好了嗎? 當然不是,還需要配合檔案此一物件的控制才行,但此一部分屬另外一個範疇了,可以參考我的其他篇文章。
留言列表