簡體   English   中英

使用VBA和子例程創建圖表

[英]Creating Charts using VBA and Sub Routines

我正在使用來自稱為Team1-Team8的選項卡中的數據創建圖表。 我正在為每個團隊創建圖表,但是我無法將圖表放入名為“ Team a-Charts”的每個團隊選項卡中。 以下是我到目前為止僅用於團隊A的代碼。我的參數表中,列B具有圖表選項卡的名稱,列A是團隊名稱。 任何指針都會有所幫助。

Sub LooproutineCharts()

Dim TeamName As String
Dim TeamNameCharts As String

For i = 4 To 12

TeamName = Sheets("Parameter").Range("A" & i).Value 'identify the location

TeamNameCharts = Sheets("Parameter").Range("B" & i).Value 'identify the location

Call Charts(TeamName) ' Call subroutine

Call Charts(TeamNameCharts) ' Call subroutine

Next i

End Sub

Sub Charts(TeamName As String)

'Create a Line Chart for Healthy Start Docu'

Dim lastRow As Long
Dim ws As Worksheet
Set ws = Sheets(TeamName)

 With Sheets(TeamName)
    lastRow = .Range("U" & Rows.count).End(xlUp).Row
With ws
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.Parent.Name = "Variable A"
    ActiveChart.SetSourceData Source:=.Range("S3:U" & lastRow)

ActiveSheet.Shapes("Variable A").Top = 20
ActiveSheet.Shapes("Variable A").Left = 20
ActiveSheet.Shapes("Variable A").Height = 300
ActiveSheet.Shapes("Variable A").Width = 700

ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Text = "Variable A" TeamName"



    End With
    End With

    End Sub

我建議更新Charts Sub以利用Worksheet.ChartObjects

使用ChartObject可以進行設置,而不必按名稱引用形狀。 它看起來像這樣:

Sub Charts(TeamName As String)
    'Create a Line Chart for Healthy Start Docu'
    Dim theChart As ChartObject
    Dim lastRow As Long
    Dim ws As Worksheet
    Set ws = Sheets(TeamName)

    With ws
        lastRow = .Range("U" & Rows.Count).End(xlUp).Row

        Set theChart = .ChartObjects.Add(Left:=20, Top:=20, Width:=700, Height:=300)
        With theChart.Chart
            .ChartType = xlLineMarkers
            .SeriesCollection.Add Source:=ws.Range("S3:U" & lastRow)
            '.SeriesCollection(1).XValues = ws.Range("S2:U2") 'I have no idea where your xaxis is placed, or if it exist
            .HasTitle = True
            .ChartTitle.Text = TeamName
        End With
    End With

End Sub

我冒昧地假設圖表標題應與TeamName參數匹配。 我也已經為xAxis做好了准備,但是如果它相關或放置位置不明確,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM