excel vba新表中的多个图表

时间:2016-08-01 09:21:07

标签: excel vba excel-vba charts macros

我遇到了准备宏的问题,它会在工作表中选择3个范围,然后根据此数据创建包含3个图表的新工作表。我怎么准备一个? 以下是我目前所做的但不起作用:ActiveChart.Location Where:="Inwestycje wykresy"突出显示,并出现“类型失配”错误。 我还必须包括图表尺寸和位置吗? 这是我的代码:

Sub InwestycjeWykresy()
Range("B3:N5").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Inwestycje").Range("B3:N5"), PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Inwestycje wykresy"
With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "Alerty"
End With
Worksheets("Inwestycje").Activate
Range("B6:N7").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Inwestycje").Range("B6:N7"), PlotBy:=xlRows
ActiveChart.Location Where:="Inwestycje wykresy"
With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "Eskalacje"
End With
Worksheets("Inwestycje").Activate
Range("B8:N10").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Inwestycje").Range("B8:N10"), PlotBy:=xlRows
ActiveChart.Location Where:="Inwestycje wykresy"
With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "Nadzor"
End With
End Sub

1 个答案:

答案 0 :(得分:0)

在您尝试添加到现有工作表的第二次和第三次时,您需要执行ActiveChart.Location Where:=xlLocationAsObject, Name:="Inwestycje wykresy"

我没有尝试过,但this意味着这将是正确的语法。

关于定位的进一步评论,您需要以下内容:

With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "Alerty"
    With .Parent
        .Height = 325
        .Width = 500
        .Top = 100
        .Left = 100
    End With
End With