這幾天小編覺得一張一張圖輸出很累,然後圖又要增加其他標籤,決定做一個群組自動建群的VBA,然後順便輸出成照片,如下圖,有2張股票市場常見的圖,小編透過文字方塊增加一個8021的文字方塊在走勢圖中,來看看怎樣群組化,滑鼠點選然後選群組 XD
圖1.範例圖檔
首先你要知道你物件的名稱這部分,
可以簡單透過Shapes.Count+for方式來逐一檢查是哪一個
For i = 1 To activesheet.Shapes.Count
Set myShape = activesheet.Shapes(i)
With myShape
.selected
debug.print .Name
End With
Next
小編自己的物件名稱為"Chart 4", "Chart 5", "TextBox 13",要群組化很簡單就是下ActiveSheet.Shapes.Range(XXX).Group
指令即可,但多物件要怎做?之前有一篇自動存檔的教學,當中有提到ARRAY(工作表名稱),概念是一樣的。
先用陣列Array("Chart 4", "Chart 5", "TextBox 13")包物件起來,然後再用
SHARPES.RANGE().GROUP包起來即可,如下:
ActiveSheet.Shapes.Range(Array("Chart 4", "Chart 5", "TextBox 13")).Group
相反要解除,透過UNGroup即可。
那前面小編有提到想要自動輸出成照片.....這可不是透過EXPORT指令,因為Shapes物件沒這好用的方法 xd 微軟大大聽到麻煩未來把這物件增加這功能,感恩。
小編是CopyPicture方式來滿足此一需求,之前有一篇line自動傳圖的文章有提過。
vba:
沒有留言:
張貼留言