2016-03-31 17 views
0

ピボットテーブルの横にグラフを作成するが、グラフを移動させることはできない関数を作成しようとしています=(適切なデータを表示してうまく動作し、私は今、それは=の作品のセットを追加しましたら、実際のピボットテーブルから。vbでピボットグラフを移動する方法

Function chart_from_pivot(a_pivot As PivotTable) As Chart 
Debug.Print 0 

Dim objChart As Chart 
Set objChart = Charts.Add 

Debug.Print 1 

objChart.SetSourceData a_pivot.TableRange1 
Debug.Print 2 
objChart.ChartType = xl3DColumn 
Debug.Print 3 
objChart.Location Where:=xlLocationAsObject, Name:=a_pivot.Parent.Name 
Debug.Print 4 

'HERE IS THE ISSUE!!!! 
'objChart.Parent.Left = Range("D2").Left 
'Debug.Print 5 
'objChart.Parent.Top = Range("D2").Top 
'Debug.Print 6 

'objChart.ChartStyle = 294 
'Debug.Print 7 

chart_from_pivot = objChart 

エンド機能

任意の勧告?みんなありがとう。

+0

グラフは、スプレッドシートの最後のカーソルの近くの画面の中央に移動します。コード内のカーソル位置を最初に設定してみてください。 – Sam

答えて

0

私はobjchart.Locationでobjchartを設定するのに必要)

これは将来的に必要となる場合の最終コードです。

Function chart_from_pivot(a_pivot As PivotTable) As Chart 
    Dim objChart As Chart 
    Set objChart = Charts.Add 

    objChart.SetSourceData a_pivot.TableRange1 
    objChart.ChartType = xl3DColumn 
    Set objChart = objChart.Location(Where:=xlLocationAsObject, Name:=a_pivot.Parent.Name) 

    objChart.ChartStyle = 294 

    objChart.ChartArea.Left = ThisWorkbook.Sheets("Charts").Range("B10").Left 
    objChart.ChartArea.Top = ThisWorkbook.Sheets("Charts").Range("B10").Top 
    chart_from_pivot = objChart 
End Function 
関連する問題