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

歡迎關注、收藏