版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VBA圖表剖析一、圖表各元素在VBA中的表達(dá)方式1、圖表區(qū)VBA名稱(chēng):ChartArea2、繪圖區(qū)VBA名稱(chēng):PlotArea調(diào)整繪圖區(qū)的大小以及在圖表中的位置,指定繪圖區(qū)的Top、Left、Height和Width屬性。3、數(shù)據(jù)系列VBA名稱(chēng):Series指定給定系列語(yǔ)法:ChatObject.SeriesCollection(Index),其中Index是數(shù)字范圍,從1開(kāi)始,最大值是圖表中系列的數(shù)量或系列名稱(chēng)的數(shù)量。4、圖表軸VBA名稱(chēng):Axis指定給定軸的簡(jiǎn)單語(yǔ)法:ChatObject.Axes(Type),其中Type指定軸的Excel VBA常量。輔助軸語(yǔ)法:ChatObject.A
2、xes(Type,AxisGroup)。5、網(wǎng)格線VBA名稱(chēng):HasMajorGridlines和HasMinorGridlines根據(jù)需要可以選擇顯示或者不顯示主要網(wǎng)格線或次要網(wǎng)格線。若顯示網(wǎng)格線,可以設(shè)置線條的圖案(顏色、線寬、線條樣式等等)。6、數(shù)據(jù)標(biāo)簽VBA名稱(chēng):DataLabels和DataLabel(1)圖表中所有系列的所有點(diǎn)顯示特定類(lèi)型的數(shù)據(jù)標(biāo)簽或不顯示數(shù)據(jù)標(biāo)簽:ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone(2)特定系列顯示數(shù)值(Y)作為數(shù)據(jù)標(biāo)簽:With ActiveChart.SeriesCollection(“
3、Xdata”) .HasDataLabels=True .ApplyDataLabels Type:=xlDataLabelsShowValueEnd With(3)特定的點(diǎn)在它的數(shù)據(jù)標(biāo)簽中顯示文字With ActiveChart.SeriesCollection(“Xdata”).Points(1) .HasDataLabels=True .DataLabel.Text=”MyLabel”End With(4)將公式放置在某個(gè)系列上的某特定點(diǎn)的數(shù)據(jù)標(biāo)簽中(在公式中需使用RC樣式)With ActiveChart.SeriesCollection(“Xdata”).point(1) .HasD
4、ataLabels=True .DataLabel.Text=”Sheet1.R1C1”End With7、圖表標(biāo)題、圖例和數(shù)據(jù)表VBA名稱(chēng):ChartTitle、HasLegend和HasDataTable可以用VBA指定圖表標(biāo)題和圖例的位置、文字和文字格式。8、趨勢(shì)線和誤差線VBA名稱(chēng):Trendlines和ErrorBar二、圖表類(lèi)型Excel標(biāo)準(zhǔn)圖表類(lèi)型圖表類(lèi)型描述Excel VBA常量柱形圖簇狀柱形圖3D簇狀柱形圖堆積柱形圖3D堆積柱形圖百分比堆積柱形圖3D百分比堆積柱形圖3D柱形圖xlColumnClusteredxl3DColumnClusteredxlColumnStacked
5、xl3DColumnStackedxlColumnStacked100xl3DColumnStacked100xl3DColumn條形圖簇狀條形圖3D簇狀條形圖堆積條形圖3D堆積條形圖百分比堆積條形圖3D百分比堆積條形圖xlBarClusteredxl3DBarClusteredxlBarStackedxl3DBarStackedxlBarStacked100xl3DBarStacked100折線圖折線圖數(shù)據(jù)點(diǎn)折線圖堆積折線圖堆積數(shù)據(jù)點(diǎn)折線圖百分比堆積折線圖百分比堆積數(shù)據(jù)點(diǎn)折線圖3D折線圖xlLinexlLineMarkersxlLineStackedxlLineMarkersStackedx
6、lLineStacked100xlLineMarkersstacked100xl3DLine餅圖餅圖分離型餅圖3D餅圖分離型3D餅圖復(fù)合餅圖復(fù)合條餅圖xlPiexlPieExplodedxl3DPiexl3DPieExplodedxlPieOfPiexlBarOfPieXY(散點(diǎn))圖散點(diǎn)圖平滑線散點(diǎn)圖無(wú)數(shù)據(jù)點(diǎn)平滑線散點(diǎn)圖折線散點(diǎn)圖無(wú)數(shù)據(jù)點(diǎn)折線散點(diǎn)圖xlXYScatterxlXYScatterSmoothxlXYScatterSmoothNoMarkersxlXYScatterLinesxlXYScatterLinesNoMarkers氣泡圖氣泡圖3D氣泡圖xlBubblexlBubble3DE
7、ffect面積圖面積圖3D面積圖堆積面積圖3D堆積面積圖百分比堆積面積圖3D百分比堆積面積圖xlAreaxl3DAreaxlAreaStackedxl3DAreaStackedxlAreaStacked100xl3DAreaStacked100圓環(huán)圖圓環(huán)圖分離型圓環(huán)圖xlDoughnutxlDoughnutExploded雷達(dá)圖雷達(dá)圖數(shù)據(jù)點(diǎn)雷達(dá)圖填充雷達(dá)圖xlRadarxlRadarMarkersxlRadarFilled曲面圖3D曲面圖曲面圖(俯視)3D曲面圖(框架圖)曲面圖(俯視框架圖)xlSurfacexlSurfaceTopViewxlSurfaceWireframexlSurface
8、WireframeTopView股價(jià)圖盤(pán)高-盤(pán)低-收盤(pán)圖成交量-盤(pán)高-盤(pán)低-收盤(pán)圖開(kāi)盤(pán)-盤(pán)高-盤(pán)低-收盤(pán)圖成交量-開(kāi)盤(pán)-盤(pán)高-盤(pán)低-收盤(pán)圖xlStockHLCxlStockVHLCxlStockOHLCxlStockVOHLC圓柱圖柱形圓柱圖條形圓柱圖堆積柱形圓柱圖堆積條形圓柱圖百分比堆積柱形圓柱圖百分比堆積條形圓柱圖3D柱形圓柱圖xlCylinderColClusteredxlCylinderBarColClusteredxlCylinderColStackedxlCylinderBarStackedxlCylinderColStacked100xlCylinderBarStacked100
9、xlCylinderCol圓錐圖柱形圓錐圖條形圓錐圖堆積柱形圓錐圖堆積條形圓錐圖百分比堆積柱形圓錐圖百分比堆積條形圓錐圖3D柱形圓錐圖xlConeColClusteredxlConeBarClusteredxlConeColStackedxlConeBarStackedxlConeColStacked100xlConeBarStacked100xlConeCol棱錐圖柱形棱錐圖條形棱錐圖堆積柱形棱錐圖堆積條形棱錐圖百分比堆積柱形棱錐圖百分比堆積條形棱錐圖3D柱形棱錐圖xlPyramidColClusteredxlPyramidBarClusteredxlPyramidColStackedxlP
10、yramidBarStackedxlPyramidColStacked100xlPyramidBarStacked100xlPyramidColvba圖表常用命令A(yù)ctiveSheet.UsedRange.Rows.Count 獲取工作表的行數(shù)(注:考慮向前兼容性)Cells.Item(5,"C") 引單元格 C5Cells.Item(5,3) 引單元格 C5Application.WorksheetFunction.IsNumber("A1") 使用工作表函數(shù)檢查 A1單元格中的數(shù)據(jù)是否為數(shù)字Range("A:A").Find(Ap
11、plication.WorksheetFunction.Max(Range("A:A").Activate 激活單元格區(qū)域 A 列中最大值的單元格Cells(8,8).FormulaArray="=SUM(R2C-1:R-1C-1*R2C:R-1C)" 在單元格中輸入數(shù)組公式。注意必須使用 R1C1 樣式的表達(dá)式ActiveSheet.ChartObjects.Count 獲取當(dāng)前工作表中圖表的個(gè)數(shù)ActiveSheet.ChartObjects("Chart1").Select 選中當(dāng)前工作表中圖表 Chart1ActiveShee
12、t.ChartObjects("Chart1").Activate 選中當(dāng)前圖表區(qū)域ActiveChart.ChartArea.Select 選中當(dāng)前圖表區(qū)域WorkSheets("Sheet1").ChartObjects("Chart2").Chart.ChartArea.Interior.ColorIndex=2 更改工作表中圖表的圖表區(qū)的背景顏色Sheets("Chart2").ChartArea.Interior.ColorIndex=2 更改圖表工作表中圖表區(qū)的顏色Charts.Add 添加新的圖表工作
13、表ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:D5"),PlotBy:=xlColumns 指定圖表數(shù)據(jù)源并按列排列ActiveChart.Location Where:=xlLocationAsNewSheet 新圖表作為新圖表工作表ActiveChart.PlotArea.Interior.ColorIndex=xlNone 將繪圖區(qū)顏色變?yōu)榘咨玏orkSheets("Sheet1").ChartObjects(1).Chart.Export FileN
14、ame:="C:MyChart.gif",FilterName:="GIF" 將圖表 1 導(dǎo)出到 C 盤(pán)上并命名為MyChart.gif ActiveSheet.ChartObjects.Delete 刪除工作表上所有的 ChartObject對(duì)象ActiveWorkbook.Charts.Delete 刪除當(dāng)前工作簿中所有的圖表工作表·Excel中的VBA常量和編碼值所代表的標(biāo)準(zhǔn)圖表類(lèi)型圖表類(lèi)型描述Excel VBA常量 編碼值(注:下面按此順序排列)柱形圖簇狀柱形圖 xlColumnClustered 51
15、0; 3D簇狀柱形圖xl3DColumnClustered54 堆積柱形圖xlColumnStacked 52 3D堆積柱形圖xl3DColumnStacked 55 百分比堆積柱形圖 xlColumnStacked10053 3D百分比堆積柱形圖 xl3DColumnStacked100 56 3D柱形圖xl3DColum
16、n -4100條形圖 簇狀條形圖xlBarClustered 57 3D簇狀條形圖 xl3DBarClustered 60 堆積條形圖 xlBarStacked 58 3D堆積條形圖 xl3DBarStacked 61 百分比堆積條形圖 xlBarStacked100 59 &
17、#160; 3D百分比堆積條形圖 xl3DBarStacked100 62折線圖 折線圖 xlLine 4 數(shù)據(jù)點(diǎn)折線圖 xlLineMarkers 65 堆積折線圖 xlLineStacked 63 堆積數(shù)據(jù)點(diǎn)折線圖 xlLineMarkersStacked 66 百分比堆積折線圖 xlLineStacked100 64
18、百分比堆積數(shù)據(jù)點(diǎn)折線圖 xlLineMarkersstacked100 67 3D折線圖 xl3DLine -4101餅圖 餅圖 xlPie 5 分離型餅圖 xlPieExploded 69 3D餅圖 xl3DPie -4102 分離型3D餅圖 xl3DPieExploded 70
19、0; 復(fù)合餅圖 xlPieOfPie 68 復(fù)合條餅圖 xlBarOfPie 71XY(散點(diǎn))圖 散點(diǎn)圖 xlXYScatter -4169 平滑線散點(diǎn)圖 xlXYScatterSmooth 72 無(wú)數(shù)據(jù)點(diǎn)平滑線散點(diǎn)圖 xlXYScatterSmoothNoMarkers 73 折線散點(diǎn)圖 xlXYScatterLines 74
20、 無(wú)數(shù)據(jù)點(diǎn)折線散點(diǎn)圖 xlXYScatterLinesNoMarkers 75氣泡圖 氣泡圖 xlBubble 15 3D氣泡圖 xlBubble3DEffect 87面積圖 面積圖 xlArea 1 3D面積圖 xl3DArea -4098 堆積面積圖 xlAreaStacked 76 3D堆積面積圖
21、0;xl3DAreaStacked 78 百分比堆積面積圖 xlAreaStacked100 77 3D百分比堆積面積圖 xl3DAreaStacked100 79圓環(huán)圖 圓環(huán)圖 xlDoughnut -4120 分離型圓環(huán)圖 xlDoughnutExploded
22、; 80雷達(dá)圖 雷達(dá)圖 xlRadar -4151 數(shù)據(jù)點(diǎn)雷達(dá)圖 xlRadarMarkers 81 填充雷達(dá)圖 xlRadarFilled 82曲面圖 3D曲面圖 xlSurface 83 曲面圖(俯視) xlSurfaceTopView 85 3D曲面圖(框
23、架圖) xlSurfaceWireframe 84 曲面圖(俯視框架圖) xlSurfaceWireframeTopView 86股價(jià)圖 盤(pán)高-盤(pán)低-收盤(pán)圖 xlStockHLC 88 成交量-盤(pán)高-盤(pán)低-收盤(pán)圖 xlStockVHLC 90 開(kāi)盤(pán)-盤(pán)高-盤(pán)低-收盤(pán)圖 xlStockOHLC 89 成交量-開(kāi)盤(pán)-盤(pán)高-盤(pán)低-收盤(pán)圖 xlSto
24、ckVOHLC 91圓柱圖 柱形圓柱圖 xlCylinderColClustered 92 條形圓柱圖 xlCylinderBarClustered 95 堆積柱形圓柱圖 xlCylinderColStacked 93 堆積條形圓柱圖 xlCylinderBarStacked 96 百分比堆積柱形圓柱圖 xlCylinderColStacked100 94
25、; 百分比堆積條形圓柱圖 xlCylinderBarStacked100 97 3D柱形圓柱圖 xlCylinderCol 98圓錐圖 柱形圓錐圖 xlConeColClustered 99 條形圓錐圖 xlConeBarClustered 102 堆積柱形圓錐圖 xlConeColStacked 100 堆積條形圓錐圖 xlConeBarStack
26、ed 103 百分比堆積柱形圓錐圖 xlConeColStacked100 101 百分比堆積條形圓錐圖 xlConeBarStacked100 104 3D柱形圓錐圖 xlConeCol 105棱錐圖 柱形棱錐圖 xlPyramidColClustered 106 條形棱錐圖 xlPyramidBarClustered 109
27、 堆積柱形棱錐圖 xlPyramidColStacked 107 堆積條形棱錐圖 xlPyramidBarStacked 110 百分比堆積柱形棱錐圖 xlPyramidColStacked100 108 百分比堆積條形棱錐圖 xlPyramidBarStacked
28、100 111 3D柱形棱錐圖 xlPyramidCol 112·利用以上參數(shù),可用VBA寫(xiě)出批量產(chǎn)生Excel圖表的程序。代碼如下:Private Sub cmdCompareSales_Click()Dim iRows, iChartType, iChartTypeRows As IntegerDim iTemp As IntegerDim sChartTitle, sCategoryTitle, sValueTitle As StringDim sChartName As Str
29、ingDim lArrayChartType(73) As Long, sArrayChartConst(73) As String, sArrayChartExplain(73) As StringFor iTemp = 0 To 72 lArrayChartType(iTemp) = Sheets("Sheet2").Cells(iTemp + 1, 1).Value sArrayChartConst(iTemp) = Sheets("Sheet2").Cells(iTemp + 1, 3).Val
30、ue sArrayChartExplain(iTemp) = Sheets("Sheet2").Cells(iTemp + 1, 2).ValueNext iTempSheets("Sheet1").ActivatesChartTitle = "銷(xiāo)售量比較圖"sCategoryTitle = "Category標(biāo)題"sValueTitle = "Value標(biāo)題"iRows = Sheets("sheet1").UsedRange.Rows.Count
31、On Error Resume NextSheets("sheet1").ChartObjects.DeleteFor iChartType = 0 To 72 Step 1 Charts.Add ActiveChart.ChartType = lArrayChartType(iChartType) ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A2:M" & CStr(iRows
32、), PlotBy:=xlRows ActiveChart.Location where:=xlLocationAutomatic, Name:="Sheet1" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = sChartTitle & sArrayChartConst(iChartTyp
33、e) & sArrayChartExplain(iChartType)' .ChartTitle.Characters.Text = sChartTitle & "xl3DArea" .Axes(xlCategory, xlPrimary).HasTitle = False ' .Axes(xlCategory, xlPrimary).AxisT
34、itle.Text = sCategoryTitle .Axes(xlValue, xlPrimary).HasTitle = False ' .Axes(xlValue, xlPrimary).AxisTitle.Text = sValueTitle End With sChartName = Mid(ActiveChart.Name, 8, 6) ActiveSheet.Shape
35、s(sChartName).Left = Range("B" & Str(18 * (iChartType + 1).Left ActiveSheet.Shapes(sChartName).Top = Range("B" & Str(18 * (iChartType + 1).Top ActiveChart.Export ThisWorkbook.Path & "" & Format(Now(), "yymmddhhmm") &am
36、p; sArrayChartConst(iChartType) & ".gif", "gif" Sheets("sheet1").ChartObjects(sChartName).Delete Next iChartTypeEnd Sub注意樓上的參數(shù)存于Sheet2的1至3列中。VBA-批量調(diào)整excel圖表格式-線條粗細(xì)Excel 畫(huà)圖時(shí)默認(rèn)的線條和標(biāo)記比較大,寫(xiě)論文時(shí)使用起來(lái)經(jīng)常要把線條和標(biāo)記調(diào)小才好看。如果圖表比較多,圖里的系列也比較多的話,一條一條的設(shè)置起來(lái)會(huì)很麻煩
37、,這里給出了一個(gè)宏,使用方法是選中圖表后運(yùn)行宏即可。Sub zoom()'' zoom 宏'' ActiveSheet.ChartObjects("圖表 1").Activate '1可以改為循環(huán)整數(shù)Dim i As IntegerFor i = 1 To ActiveChart.SeriesCollection.Count ActiveChart.SeriesCollection(i).Select Selection.MarkerSize = 3 '設(shè)置標(biāo)記大小為3 With Selection.Format.Line .
38、Visible = msoTrue .Weight = 1.25 '設(shè)置線條粗細(xì)為1.25 End WithNextEnd Sub可以根據(jù)自己的需求更改標(biāo)記的大小和線條的粗細(xì)。當(dāng)然如果需要對(duì)所有圖表做這種更改,可以找出圖表個(gè)數(shù),對(duì)ActiveSheet.ChartObjects("圖表 i").Activate 進(jìn)行外圍循環(huán)即可。Shape(圖形)、Chart(圖表)對(duì)象在工作表中添加圖形如果需要在工作表中添加圖形對(duì)象,可以使用AddShape方法,如下面的代碼所示。#001 Sub AddShape()#002 Dim myShape As Shape#003 O
39、n Error Resume Next#004 Sheet1.Shapes("myShape").Delete#005 Set myShape = Sheet1.Shapes.AddShape(msoShapeRectangle, 40, 120, 280, 30)#006 With myShape#007 .Name = "myShape"#008 With .TextFrame.Characters#009 .Text = "單擊將選擇Sheet2!"#010 With .Font#011 .Name = "華文行楷&q
40、uot;#012 .FontStyle = "常規(guī)"#013 .Size = 22#014 .ColorIndex = 7#015 End With#016 End With#017 With .TextFrame #018 .HorizontalAlignment = -4108#019 .VerticalAlignment = -4108#020 End With#021 .Placement = 3#022 End With#023 myShape.Select#024 With Selection.ShapeRange#025 With .Line#026 .Wei
41、ght = 1#027 .DashStyle = msoLineSolid#028 .Style = msoLineSingle#029 .Transparency = 0#030 .Visible = msoTrue#031 .ForeColor.SchemeColor = 40#032 .BackColor.RGB = RGB(255, 255, 255)#033 End With#034 With .Fill#035 .Transparency = 0#036 .Visible = msoTrue#037 .ForeColor.SchemeColor = 41#038 .OneColor
42、Gradient 1, 4, 0.23#039 End With#040 End With#041 Sheet1.Range("A1").Select#042 Sheet1.Hyperlinks.Add Anchor:=myShape, Address:="", _#043 SubAddress:="Sheet2!A1", ScreenTip:="選擇Sheet2!"#044 Set myShape = Nothing#045 End Sub代碼解析:AddShape過(guò)程在工作表中添加一個(gè)矩形并設(shè)置其外觀等屬性。第
43、2行代碼聲明變量myShape的對(duì)象類(lèi)型。第3、4行代碼刪除可能存在的名稱(chēng)為“myShape”的圖形對(duì)象。第5行代碼使用AddShape方法在工作表中添加一個(gè)矩形。當(dāng)該方法應(yīng)用于Shapes對(duì)象時(shí),返回一個(gè)Shape對(duì)象,該對(duì)象代表工作表中的新自選圖形,語(yǔ)法如下:expression.AddShape(Type, Left, Top, Width, Height)參數(shù)expression是必需的,返回一個(gè)Shapes對(duì)象。參數(shù)Type是必需的,指定要?jiǎng)?chuàng)建的自選圖形的類(lèi)型。參數(shù)Left和Top是必需的,以磅為單位給出自選圖形邊框左上角的位置。參數(shù)Width和Height是必需的,以磅為單位給出自
44、選圖形邊框的寬度和高度。第7行代碼將新建圖形命名為“myShape”,向Shapes集合添加新的圖形時(shí),將對(duì)新添加的圖形賦以默認(rèn)的名稱(chēng),若要為圖形指定更有意義的名稱(chēng),可指定其N(xiāo)ame屬性。第8行到第16行代碼為矩形添加文字,并設(shè)定其格式。其中第8行代碼使用TextFrame 屬性和Characters方法返回該矩形的字符區(qū)域。應(yīng)用于Shape對(duì)象的TextFrame 屬性返回一個(gè)TextFrame對(duì)象,該對(duì)象包含指定圖形對(duì)象的對(duì)齊和定位屬性;Characters方法返回一個(gè)Characters對(duì)象,該對(duì)象代表某個(gè)圖形的文本框中的字符區(qū)域,語(yǔ)法如下:expression.Characters(S
45、tart, Length)參數(shù)expression是必需的,返回一個(gè)指定文本框內(nèi)Characters對(duì)象的表達(dá)式。參數(shù)Start是可選的,表示將要返回的第一個(gè)字符,如果此參數(shù)設(shè)置為 1 或被忽略,則Characters方法會(huì)返回以第一個(gè)字符為起始字符的字符區(qū)域。參數(shù)Length是可選的,表示要返回的字符個(gè)數(shù)。如果此參數(shù)被忽略,則Characters方法會(huì)返回該字符串的剩余部分(由Start參數(shù)指定的字符以后的所有字符)。第9行代碼為矩形添加文字,應(yīng)用于Characters對(duì)象的Text屬性返回或設(shè)置對(duì)象的文本,為可讀寫(xiě)的String類(lèi)型。第10行到第15行代碼設(shè)置矩形中文字的屬性,應(yīng)用于Cha
46、racters對(duì)象Font屬性返回一個(gè)Font對(duì)象,該對(duì)象代表指定對(duì)象的字體屬性(字體名稱(chēng)、字體大小、字體顏色等),第11行代碼設(shè)置字體名稱(chēng),第12行代碼設(shè)置字體樣式,第13行代碼設(shè)置字體大小,第14行代碼顏色。第17行到第20行代碼設(shè)定矩形中文字的對(duì)齊方式。應(yīng)用于TextFrame對(duì)象的HorizontalAlignment屬性返回或設(shè)置指定對(duì)象的水平對(duì)齊方式,可為表格 531所示的XlHAlign常量之一。常量值描述xlHAlignCenter-4108居中xlHAlignCenterAcrossSelection7靠左xlHAlignDistributed-4117分散對(duì)齊xlHAlig
47、nFill5分散對(duì)齊xlHAlignGeneral1靠左xlHAlignJustify-4130兩端對(duì)齊xlHAlignLeft-4131靠左xlHAlignRight-4152靠右表格 11HorizontalAlignment屬性的XlHAlign常量應(yīng)用于TextFrame對(duì)象的VerticalAlignment屬性返回或設(shè)置指定對(duì)象的垂直對(duì)齊方式,可為表格 532所示的XlHAlign常量之一。常量值描述xlVAlignCenter-4108居中xlVAlignJustify-4130兩端對(duì)齊xlVAlignBottom-4107靠下xlVAlignDistributed-4117分散
48、對(duì)齊xlVAlignTop-4160靠上表格 12VerticalAlignment屬性的XlHAlign常量第21行代碼設(shè)置矩形大小和位置不隨單元格而變,應(yīng)用于Shape對(duì)象的Placement屬性返回或設(shè)置對(duì)象與所在的單元格之間的附屬關(guān)系,可為表格 533所示的XlPlacement常量之一。常量值描述xlFreeFloating3大小、位置均固定xlMove2大小固定、位置隨單元格而變xlMoveAndSize1大小、位置隨單元格而變表格 13XlPlacement常量第24行到第32行代碼設(shè)置矩形的邊框線條格式,應(yīng)用于ShapeRange集合的Line屬性返回一個(gè)LineFormat
49、對(duì)象,該對(duì)象包含指定圖形的線條格式屬性。其中第26行代碼設(shè)置矩形線條粗細(xì),第27行代碼設(shè)置矩形線條的虛線樣式,第28行代碼設(shè)置矩形填充的透明度,第29行代碼設(shè)置矩形為可見(jiàn),第30行代碼設(shè)置矩形的前景色,第31行代碼設(shè)置矩形填充背景的顏色。第33行到第38行代碼設(shè)置矩形的內(nèi)部填充格式,應(yīng)用于ShapeRange集合的Fill屬性返回FillFormat對(duì)象,該對(duì)象包含指定的圖表或圖形的填充格式屬性。其中第35行代碼設(shè)置矩形內(nèi)部的透明度,第36行代碼設(shè)置矩形內(nèi)部為可見(jiàn),第37行代碼設(shè)置矩形內(nèi)部的前景色,第38行代碼將矩形內(nèi)部指定填充設(shè)為單色漸變,應(yīng)用于 FillFormat對(duì)象的OneColorG
50、radient方法將指定填充設(shè)為單色漸變,語(yǔ)法如下:expression.OneColorGradient(Style, Variant, Degree)其中參數(shù)Style是必需的,底紋樣式,可為表格 541所示的MsoGradientStyle常量之一。常量值描述msoGradientDiagonalDown4斜下msoGradientDiagonalUp3斜上msoGradientFromCenter7無(wú)msoGradientFromCorner5角部幅射msoGradientFromTitle6中心幅射msoGradientHorizontal1水平msoGradientMixed-2無(wú)
51、msoGradientVertical2垂直表格 14MsoGradientStyle常量參數(shù)Variant是必需的,漸變變量。取值范圍為 1 到 4 之間,分別與“填充效果”對(duì)話框中“漸變”選項(xiàng)卡的四個(gè)漸變變量相對(duì)應(yīng)。如果GradientStyle 設(shè)為 msoGradientFromCenter,則Variant參數(shù)只能設(shè)為 1 或 2。參數(shù)Degree是必需的,灰度。取值范圍為 0.0(表示最深)到 1.0(表示最淺)之間。第42、43行代碼為矩形對(duì)象添加超鏈接,應(yīng)用于Hyperlinks對(duì)象的Add方法向指定的區(qū)域或圖形添加超鏈接,語(yǔ)法如下:expression.Add(Anchor,
52、 Address, SubAddress, ScreenTip, TextToDisplay)參數(shù)expression是必需的,返回一個(gè)Hyperlinks對(duì)象。參數(shù)Anchor是必需的,超鏈接的位置??蔀镽ange對(duì)象或Shape對(duì)象。參數(shù)Address是必需的,超鏈接的地址。參數(shù)SubAddress是必需的,超鏈接的子地址。參數(shù)ScreenTip是可選的,當(dāng)鼠標(biāo)指針停留在超鏈接上時(shí)所顯示的屏幕提示。參數(shù)TextToDisplay是可選的,要顯示的超鏈接的文本。運(yùn)行AddShape過(guò)程結(jié)果如圖 531所示。圖 11在工作表中添加圖形技巧1 導(dǎo)出工作表中的圖片有時(shí)需要將工作表中的圖形對(duì)象保存為
53、單獨(dú)的圖像文件,可以使用Export方法將工作表中的圖片以文件形式導(dǎo)出,如下面的代碼所示。#001 Sub ExportShp()#002 Dim Shp As Shape#003 Dim FileName As String#004 For Each Shp In Sheet1.Shapes#005 If Shp.Type = msoPicture Then#006 FileName = ThisWorkbook.Path & "" & Shp.Name & ".gif"#007 Shp.Copy#008 With Sheet1
54、.ChartObjects.Add(0, 0, Shp.Width + 28, Shp.Height + 30).Chart#009 .Paste#010 .Export FileName, "gif"#011 .Parent.Delete#012 End With#013 End If#014 Next#015 End Sub代碼解析:ExportShp過(guò)程將Sheet1工作表的所有圖片以文件形式導(dǎo)出到同一目錄中。第4行代碼使用For Each.Next 語(yǔ)句遍歷Sheet1工作表中的所有圖形。第5行代碼判斷圖形的類(lèi)型是否為圖片,應(yīng)用于Shape對(duì)象的Type屬性返回或設(shè)
55、置圖形類(lèi)型,可以為表格 541所示的MsoShapeType常量之一。常量值說(shuō)明msoShapeTypeMixed-2混合型圖形msoAutoShape1自選圖形msoCallout2沒(méi)有邊框線的標(biāo)注msoChart3圖表msoComment4批注msoFreeform5任意多邊形msoGroup6圖形組合msoFormControl8窗體控件msoLine9線條msoLinkedOLEObject10鏈接式或內(nèi)嵌OLE對(duì)象msoLinkedPicture11剪貼畫(huà)或圖片msoOLEControlObject12ActiveX 控件msoPicture13圖片msoTextEffect15藝術(shù)
56、字msoTextBox17文本框msoDiagram21組織結(jié)構(gòu)圖或其他圖示表格 11MsoShapeType常量第6行代碼使用字符串變量FileName記錄需導(dǎo)出圖形的路徑和名稱(chēng)。第7行代碼復(fù)制圖形,應(yīng)用于Shape對(duì)象的Copy方法將對(duì)象復(fù)制到剪貼板。第8行代碼使用Add方法在工作表中添加一個(gè)圖表,應(yīng)用于ChartObjects對(duì)象的Add 方法創(chuàng)建新的嵌入圖表,語(yǔ)法如下:expression.Add(Left, Top, Width, Height)參數(shù)expression是必需的,返回一個(gè)ChartObjects對(duì)象。參數(shù)Left、參數(shù)Top是必需的,以磅為單位給出新對(duì)象的初始坐標(biāo),該
57、坐標(biāo)是相對(duì)于工作表上單元格A1的左上角或圖表的左上角的坐標(biāo)。參數(shù)Width、參數(shù)Height是必需的,以磅為單位給出新對(duì)象的初始大小。第9行代碼使用Paste方法將圖形粘貼到新的嵌入圖表中,應(yīng)用于Chart對(duì)象的Paste方法將剪貼板中的圖表數(shù)據(jù)粘貼到指定的圖表中,語(yǔ)法如下:expression.Paste(Type)參數(shù)expression是必需的,返回一個(gè)Chart對(duì)象。參數(shù)Type是可選的的,如果剪貼板中有圖表,本參數(shù)指定要粘貼的圖表信息??蔀橐韵耎lPasteType常量之一:xlFormats、xlFormulas或xlAll。默認(rèn)值為xlAll,如果剪貼板中是數(shù)據(jù)不是圖表,則不能使
58、用本參數(shù)。第10行代碼使用Export方法將圖表導(dǎo)出到同一目錄中,應(yīng)用于Chart對(duì)象的Export方法以圖形格式導(dǎo)出圖表,語(yǔ)法如下:expression.Export(Filename, FilterName, Interactive)其中參數(shù)Filename是必需的,被導(dǎo)出的文件的名稱(chēng)。第10行代碼刪除新建的圖表。因?yàn)镃hart對(duì)象是不能使用Delete方法直接刪除的,應(yīng)先使用Parent屬性返回指定對(duì)象的父對(duì)象,然后使用Delete方法刪除。技巧2 在工作表中添加藝術(shù)字在工作表中插入藝術(shù)字,可以使用AddTextEffect方法,如下面的代碼所示。#001 Sub TextEffect()#002 Dim myShape As Shape#003 On Error Resume Next#004 Sheet1.Shapes("myShape").Delete#005 Set myShape = Sheet1.Shapes.AddTextEffect _#006 (PresetTextEff
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年紡織品出口合同(埃及)
- 2024年跨國(guó)銷(xiāo)售代表權(quán)合同版B版
- 2024年現(xiàn)代服務(wù)業(yè)招商引資合作合同范本3篇
- 2025年博士高校教師崗位聘任合同示范文本3篇
- 2025年度建筑施工安全培訓(xùn)與咨詢(xún)服務(wù)合同2篇
- 2025年度搜索引擎結(jié)果頁(yè)面SEO優(yōu)化合同2篇
- 2025版智能家居企業(yè)股權(quán)轉(zhuǎn)讓居間服務(wù)合同范本3篇
- 2024年食品零售批發(fā)合同合同指導(dǎo)文本版
- 二零二五年度二手車(chē)經(jīng)銷(xiāo)商庫(kù)存融資合同樣本3篇
- 2025年中國(guó)玩具包裝市場(chǎng)深度調(diào)研分析及投資前景研究預(yù)測(cè)報(bào)告
- 2023中國(guó)光大銀行杭州分行招聘客戶(hù)經(jīng)理筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 2024中國(guó)食藥同源大健康產(chǎn)業(yè)消費(fèi)洞察與產(chǎn)業(yè)發(fā)展分析白皮書(shū)
- 2023-2024學(xué)年廣東省佛山市南海區(qū)、三水區(qū)九年級(jí)(上)期末英語(yǔ)試卷
- 蘇教版科學(xué)六年級(jí)上冊(cè)期末測(cè)試卷附完整答案【典優(yōu)】
- 二年級(jí)上冊(cè)數(shù)學(xué)解決問(wèn)題60道附參考答案【典型題】
- DZ∕T 0215-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 煤(正式版)
- 山東省濟(jì)南市槐蔭區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末語(yǔ)文試題(含答案解析)
- 家長(zhǎng)會(huì)課件:小學(xué)五年級(jí)家長(zhǎng)會(huì)課件
- 出現(xiàn)產(chǎn)品質(zhì)量問(wèn)題退換貨承諾
- 合伙開(kāi)托管班協(xié)議書(shū)4篇
- 意識(shí)形態(tài)安全教育主題班會(huì)
評(píng)論
0/150
提交評(píng)論