2016-12-15 11 views
-1

1つのExcelワークシートから24のグラフを特定の順序でワード文書にコピーしようとしています。これは私が使用しているコードです:ExcelからExcelにコピー&ペーストする

Sub ChartsToWord() 

Dim WDApp As Word.Application 
Dim WDDoc As Word.Document 
Dim iCht As Integer 
Dim Msg As String 

Set WDApp = CreateObject("Word.Application") 
Set WDDoc = WDApp.Documents.Add 


For iCht = 1 To ActiveSheet.ChartObjects.Count 
' copy chart as a picture 
ActiveSheet.ChartObjects(iCht).Chart.CopyPicture _ 
    Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture 

WDApp.Selection.Range.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, _ 
    Placement:=wdInLine, DisplayAsIcon:=False 

WDDoc.Content.InsertParagraphAfter 
Next 

WDDoc.SaveAs ("C:\Users\Brooklyn.Bodnarchuk\Desktop\Shell I&C Mini Pilot Results\Test 0 - Nov 23 2016\charts.doc") 
WDDoc.Close ' close the document 


Set WDDoc = Nothing 
Set WDApp = Nothing 

End Sub 

私の問題は、完全にランダムな順序でドキュメントにグラフを追加するようです。私は "チャート1"、 "チャート2"というような名前のチャートを持っています。これらをコピーして貼り付ける順序はどのように制御できますか?

答えて

0

あなたは、あなたのようなものを使用することができますという名前のチャートがある場合:シート上のすべてのchartobjectsを想定し...

For iCht = 1 to ActiveSheet.ChartObjects.Count 

    ActiveSheet.ChartObjects("Chart " & iCht).Chart.CopyPicture _ 
     Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture 
    ''etc 

Next iCht 

をあなたがそれらをコピーすることにしたいために、「チャートX」と命名されています。

関連する問題