tft每日頭條

 > 圖文

 > vba 如何給圖表命名

vba 如何給圖表命名

圖文 更新时间:2024-09-15 21:18:46

word、ppt經常要制作圖形,例如坐标圖,有許多縱橫線,需要批量制作,手工極不方便,線間距也不好調節,還有設置網格線的粗細、箭頭、顔色等等,這時用VBA就可以發揮優勢。一、要求:每間隔5格主刻度線加粗顯示,組合成一個圖;次刻度線較細,組合成一個圖。便于批量設置主刻度和次刻度的格式。各條線間距相等二、程序Sub coordinate()Dim shp1 As Shape, shp2() As Shape, shp3() As Shape,…………………………'描繪縱坐标,…………………………j = 1

k=k 1ReDim shp2(1 To 1)ReDim shp3(1 To 1)For i = 1 To 36Set shp1 = addln(100 5 *(i - 1), 100, 100 5 * (i - 1), 275)shp1.Name = "shp" & "i" & i

If (i - 1) Mod 5 = 0 ThenSet shp2(j) = ActiveDocument.Shapes(shp1.Name)With shp2(j).Line.Weight = 1End Withj = j 1ReDim Preserve shp2(1 To j)ElseSet shp3(k) = ActiveDocument.Shapes(shp1.Name )k = k 1ReDim Preserve shp3(1 To k)End IfNextFor i = LBound(shp2) To UBound(shp2) - 1ActiveDocument.Shapes.Range(Array(shp2(i).Name)).Select (msoFalse)NextSelection.ShapeRange.GroupFor i = LBound(shp3) To UBound(shp3) - 1ActiveDocument.Shapes.Range(Array(shp3(i).Name)).Select (msoFalse)NextSelection.ShapeRange.Group'下面是橫坐标j = 1

k=k 1ReDim shp2(1 To 1)ReDim shp3(1 To 1)For i = 1 To 36Set shp1 = addln(100, 100 5 * (i - 1), 275, 100 5 * (i - 1))'…………………………………………'(橫坐标的程序下面部分與上一步的縱坐标相同,略去)'…………………………………………End SubFunction addline(x1, y1, x2, y2)Set addln = ActiveDocument.Shapes.addline(x1, y1, x2, y2)With addln.Line.ForeColor.RGB = RGB(0, 0, 0).Weight = 0.5End WithEnd Function三、關鍵點将所畫直線編号并加上name屬性,用可變數組存儲,ActiveDocument.Shapes.Range(Array(shp2(i).Name)).Select (msoFalse)可以批量選擇主刻度和次刻度線,不加“msoFalse”是無法多重選擇的。Selection.ShapeRange.Group組合所選直線,這樣主刻度(第0、5、10……5k條線,每隔4條組合)和次刻度(第1、2、3、4,6、7、8、9……每4條組合都)是組合圖形,隻要點一下鼠标就可以選中全部線條并批量編輯線條格式,直線再多也沒有壓力。

vba 如何給圖表命名(VBA制作坐标網格圖)1

坐标網格圖

vba 如何給圖表命名(VBA制作坐标網格圖)2

主刻度線

vba 如何給圖表命名(VBA制作坐标網格圖)3

次刻度線

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved