Excel VBAで少し問題があります(もう一度...)。シェイプを別のワークシートにコピーするにはどうすればいいですか?
ワークシートから別のワークシートへのシェイプ(実際には「テンプレート」シェイプ、レイアウトは事前定義されています)をコピーしたいだけです。
私はマクロを記録する場合、これは、生成されたVBAコードです:もちろん
Sheets("Layout").Select
ActiveSheet.ChartObjects("CHART_TEMPLATE").Activate
ActiveChart.ChartArea.Copy
Sheets("Example").Select
Range("A1").Select
ActiveSheet.Paste
、私はパフォーマンスの問題のために、すべての".Select"
方法を取り除きたいです。このような理由から、私ができないSelect
範囲は、残念ながらActiveSheet.Paste
を使用していないどちらも、Paste
方法はWorksheet
オブジェクト(ActiveSheet.Paste
のような)のために存在するので、私はRange
オブジェクトのPasteSpecial
方法を使用する必要がありました。写真は...もちろん は私が写真を望んでいないとして、私はデータを持つものCharts
を移入する必要があるため、
ThisWorkbook.Sheets("Layout").ChartObjects("CHART_TEMPLATE").Copy
ThisWorkbook.Sheets("Example").Range("A1").PasteSpecial Paste:=xlPasteAll
しかし、PasteSpecial
方法コピーShapes
:
は、だからここに私のコードです。
ここでヒントをお持ちですか?
Thanx、
ペースト方法は、引数として宛先を取ることができます。 'ThisWorkbook.Sheets(" Example ")のようなものを試しましたか?貼り付け先:= ThisWorkbook.Sheets(" Example ")。Range(" A1 ")'? – assylias
ありがとう、それは魅力のように動作します! –
私はあなたが問題を閉じることができるように答えを掲載しました。 – assylias