2016-08-04 22 views
0

私はVBAコードに問題があります。コピー貼付グラフExcel VBA

これはVBAで書いている最初のコードです。 基本的には、シート2のセルF7の値をチェックし、それに基づいて2つのチャートの1つをsheet2に貼りたいと思います。範囲外の添字とそれがライン(チャート(「Chart41」)を指すのChartAreaを:私は​​、コマンドボタンをクリックしたときに

Private Sub CommandButton1_Click() 


CommandButton1.Caption = "Stock Size Range" 
CommandButton1.BackColor = 0 
CommandButton1.ForeColor = 16777215 

'Clear the chart area 
Charts("Chart41").ChartArea.Clear 


If Sheets("sheet2").Range("F7") = 1 Then 'Aluminum Material 


    Sheets("sheet3").ChartObjects("Chart666").Select 
    Sheets("sheet3").ChartObjects("Chart666").Copy 
    ChartObjects("Chart41").Paste 

    Else 

    Sheets("sheet4").ChartObjects("Chart888").Select 
    Sheets("sheet4").ChartObjects("Chart888").Copy 
    ChartObjects("Chart41").Paste 

End If 

End Sub 

事は,,である、それは私にランタイムエラー「9」を与えます。 .Clear)

ありがとう、

+0

'ChartObjectsを( "Chart41")。Chart.ChartArea.Clear' –

+0

ありがとうございます。指定された名前のアイテムが見つかりませんでした、私はかなり私は名前を変更したと確信しています..あなたはどう思いますか? –

+0

@TimWilliams私はそれを動作させることができました。元のコードがうまくいかなかった理由を教えてください。 –

答えて

0

(申し訳ありませんが、私はコメントを書いて、より多くの情報について尋ねるために十分な評判を持っていないので、私は自分のベストを尽くします!)

こんにちは!

チャートを貼り付ける対象のシートに移動し、チャートを作成してIDを関連付ける必要があります(たとえば、「MyNewChart」など)あなたは、グラフを貼り付ける必要がある場合は、このイメージhttp://i.stack.imgur.com/hf2Nq.png)あなたのコード内で次に

、中赤枠で "ノード5" は、あなたが書くことができます。

Sheets("WriteSheetNameHere").ChartObjects("MyNewChart").Paste 

HTH;)

+0

ありがとう、さて、それは動作します –

+0

コードは再び働いていません、助言してもらえますか? @RCaetano –

+0

動作は何ですか?初めての場合のみ動作しますか、それとも別の動作ですか?おそらく、最良の方法は、既存のグラフ(あなたのchart41)を削除し、貼り付け前に新しいグラフを作成し、それにIDを割り当て、最後にグラフを貼り付けることです。この手順は、マクロを実行する必要があるたびに実行する必要があります – RCaetano

関連する問題