Excel表格圓形圖怎麼製作(Excel怎麼根據表格做圓形圖表)
vba 也可以畫圖,這也不是什麼祕密,但是用過嗎?
相信不是常用Excel的人,對此也沒有多少了解。
建立圖形並不是Excel的強項,但是這個功能也是十分有用。
效果圖
如果要做一個精彩的表格,那麼就需要對圖形有十分的掌握程度。
下面介紹一下如何利用程式碼自動建立圓形效果。
我只拋磚,能不能引玉,那就看自然了。
隨機生成多個圓形
大小和顏色也是隨機生成,這樣每次單擊按鈕,效果都不一樣。
如果把這個功能用到一些軟體應用裡面,可以大大改善應用介面的美觀性,同時也會降低由於使用同一顏色帶來的視覺疲勞。
整體來看這個效果還是可圈可點的,有沒有感覺兒童節到了?當然了,也可畫出五角星或者三角星,根據不同的選擇需求,甚至可以畫出一張很漂亮的畫來。
只要你有創意,什麼都可以做,不是嗎?
重點來了
說這麼多,還是要切入正題的。
先說說如何用程式碼。
ws.Shapes.AddShape(msoShapeOval, x, y, w, h)'畫出一個圓形
解釋:
ws:一個表物件,即worksheet物件
msoShapeOval:圓形識別符號,這個是微軟定死的,就這麼用就對了
x:圓形左位置
y:圓形上位置
w:圓形寬
h:圓形高
具體應用中,可以自己設定一下不同的值來測試,可能會有意外,但不會太大。
程式碼放送
Sub addOval() Dim ws As Worksheet Set ws = ActiveSheet Dim o As Shape Dim x As Long, y As Long, w As Long, h As Long x = VBA.Int(800 - 100 1) * VBA.Rnd 100 y = VBA.Int(300 - 100 1) * VBA.Rnd 100 w = VBA.Int(100 - 10 1) * VBA.Rnd 10 h = w Dim r As Integer, g As Integer, b As Integer r = VBA.Int(255 - 0 1) * VBA.Rnd 0 g = VBA.Int(255 - 0 1) * VBA.Rnd 0 b = VBA.Int(255 - 0 1) * VBA.Rnd 0 Set o = ws.Shapes.AddShape(msoShapeOval, x, y, w, h) '新建一個圓形 With o .Fill.ForeColor.RGB = RGB(r, g, b)'填充圓形顏色 End With End Sub
清除圓形程式碼
特別提醒:
如果對以下程式碼不是十分熟悉,嚴格聽取本建議,不要執行。
它有可能將你的Excel檔案內的相關圖表刪除,沒有後悔的機會,所以涉及到刪除相關的程式碼,一般不建議初學者來執行,因為有些東西,刪除了就再也回不來了。
Sub ClearOvalShape()'清除圓形 Dim C As Shape For Each C In ActiveSheet.Shapes'遍歷表內圖形 If C.Type = 1 Then'如果是圖形就刪除 C.Delete End If Next C End Sub
歡迎關注、收藏