No.1
Excel中給表格設定一些顔色,對于表格的觀賞性,還是很好的。
如何利用VBA對表格進行漸變色設定,這就需要我們有一個十分熱情來掌握其方法。
下圖為設定一個漸變色的效果,顔色不太好,但其功能可以實作。
下面具體解釋一下,通過vba代碼實作的方法。
No.2
首先要明解如何來實作對表格内部背景設定。
我們要知道表格内部用Interior對象來表示,這就是說要用到這個對象的一些屬性。
其簡單純色背景隻要對Color屬性指派就可以實作背景顔色設定。
例如:
Range(“A”).interior.color=rgb(222,1,1)
上面代碼就對A1單元格背景設定為紅色了。
設定為過渡色不能用此屬性,另有屬性。
下面看一下interior對象的一些屬性:
下圖是Pattern常量的枚舉類型,也是固定好,自由選擇了。不多解釋了。
真正用到的是Gradient屬性的ColorStop對象,如下圖:
ColorStop代表某一區域或所選内容中的漸變填充的色标,其複數ColorStop指定系列的所有**ColorStop** 對象的集合
Degree代表了漸變的角度。
這樣就可以實作一個單元格内的漸變顔色、角度變化了,當然還有明暗度等等不做介紹,用到其它屬性。
首先把角度和顔色來設定好。
看如下代碼圖:
No.3
代碼
Private Sub CommandButton1_Click()With Selection.Interior .Pattern = xlPatternLinearGradient'指定為線性漸變 .Gradient.Degree = 45'設定漸變角度End WithWith Selection.Interior.Gradient.ColorStops.Add(1) .Color = RGB(211, 201, 1)'顔色 .TintAndShade = 0 '應用淡色和陰影End WithEnd Sub
仔細看代碼就會明白,一個表格内部設定用到Interior對象,然後設定線性漸變用到Pattern屬性,這個是必需選擇常量xlPatternLinearGradient,如果選擇其它就不是線性漸變,後面的代碼就是報錯。
然後用Gradient.Degreeg來設定漸變的角度0-360度。
其次,這裡還有一個ADD,是增加一個漸變顔色節點,漸變顔色利用ColorStop對象來設定,這就是相當于是一個色标。
如此就把一個單元格漸變設定完成了。
是不是有點暈,真的很不好了解。因為這裡用到了幾個不同的對象和屬性。
Interior對象最頂層,設定屬性.Pattern和.Gradient.Degree,接下來添加一個ColorStop對象,設定其.Color和TintAndShade屬性。
簡單就沒有意義了,就是在這麼多個對象和屬性之間來回設定一翻,我們得到了一個更加無聊的結果。
如果你有十分美觀的視覺處理能力,那麼通過這樣一番操作,一個漂亮的表格就出現了。
---END---
歡迎收藏、關注