贊贊小屋

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式

Excel是很好用的繪圖工具,能畫出很多形狀的圖案進行編輯。本文介紹把工作表當作數學的直角座標平面,貼齊格線畫出對角線,最後設計VBA程式自動繪圖。

一、直線對齊

參考先前贊贊小屋文章在工作表設定好直角座標平面,想在座標上面畫一個對準的斜直線。

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式 VBA自動化 第1張

二、插入線條

上方功能區「插入>圖例」將「圖案」下拉,選擇「線條」。

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式 VBA自動化 第2張

三、努力對齊

就算有工整的直角座標平面,想在滑鼠想在上面畫好45度角斜直線,根本在考驗自己的手指力,請讀者試看看。

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式 VBA自動化 第3張

四、貼齊格線

有個Excel繪圖小技巧,先隨便畫一個歪歪沒對齊的線條,在選取這個線條圖形的情况下,上方功能區出現「繪圖工具」,「排列」區塊中將「對齊」下拉,點選「貼齊格線」使其成為反灰狀態,表示啟用中。

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式 VBA自動化 第4張

五、輕鬆對齊

給自己個機會用滑鼠再畫一次,這時候會發現即使十字點沒有精準對到,線條會自動跑到對角線上,這就是「貼齊格線」的效果。

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式 VBA自動化 第5張

六、VBA程式

Excel會將「貼齊格線」的效果適用在所有圖形,因此在上個步驟如果再去畫其他圖案,同樣也會是自動貼齊的,所以贊贊小屋在需要用Excel畫圖時常常在是否貼齊格線的狀態之間切換。

雖然在Excel運用小技巧也是可以畫出工整的線條,但真的會常常畫圖的情形,還是應該寫個VBA程式執行。其實只要一行程碼,指示Excel在目前工作表(ActiveSheet)畫圖(Shape),圖案類型是線條(AddLine),從儲存格G7左上角到L2左上角(Range(“G7”).Left, Range(“G7”).Top, Range(“L2”).Left, Range(“L2”).Top)。

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式 VBA自動化 第6張

七、VBA畫線

執行「Line」巨集,真的把Excel變成一個畫圖軟體了!

【Excel VBA自動化】想對齊儲存格畫對角線?只要設計一行Shapes.AddLine的繪圖程式 VBA自動化 第7張

Excel是宮崎駿,VBA是皮克斯

Vba在本質上是以原始程式碼讓Excel變成機器人,原則上Excel可以做的,VBA都可以做。所以Excel能畫畫,VBA也會畫。以一個不太精確的比喻來說,Excel是宮崎駿很厲害的手工繪圖,VBA是皮克斯的電腦動畫。

VBA電腦動畫有很多好處,更改程式碼中的Range就是在不同地方畫線,可以設計成Excel輸入儲存格位址,VBA遵照指示作圖,也可以設計成Excel圈選任意範圍,VBA負責畫出兩點之間的直線,當然VBA強項是工業化大量製造,想在工作表上一次畫100條五線譜,那是跟孫悟空拔根頭髮一樣輕鬆容易。

以上,預計之後系列文章繼續分享。

本網站所有內容皆受版權保護,网站备案编号:苏ICP备14051307号-1