アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルマクロで【ファイルA】に【マクロ表示】を作成。
内容:【ファイルA】は4シート(シート名:【チャート】【ひな型】【データ】【メニュー】)。

(1)【メニュー】にあるリストから「地域A」を選択

(2)他のブックを開き「地域A」のデータをコピー、【データ】に貼り付け。20のブックからデータを貼り付ける。

(3)【チャート】【ひな型】には、グラフがある。
元のデータは【データ】にあるので、「地域A」のデータがコピーされた時点でグラフは出来る。

(4)【チャート】、【ひな型】をコピーする。

(5)【データ】で作表し、【ひな型(2)】【チャート(2)】に貼り付ける。

(6)【チャート(2)】、【ひな型(2)】を新しいブックに移動。
新しい名前【Book1】で保存。リンクを切り上書きする。

(7)【マクロ表示】は終了し、【メニュー】に戻る。
画面は【Book1】【ひな型(2)】で終わる。

(8)【Book1】を閉じる。
【ファイルA】【メニュー】から「地域B」を選択。【マクロ表示】を実行。
以上の手順で、【ファイルA】を閉じることなく、「地域A」「地域B」・・と選択して、【マクロ表示】を実行していくと、
7回目で(4)でエラーになってしまう。
Worksheets("ひな型").copy before:=worksheets(1)の行で。
エラーメッセージは「実行時エラー1004 WorksheetクラスのCopyメソッドが失敗」。

【ファイルA】のシートを右クリックでを見てみると、
「シートの移動またはコピー」の「移動先ブック名」が(新しいブック)、挿入先が空になっています。
通常、「移動先ブック名」は現在のブック名【ファイルA】、
挿入先【メニュー】【データ】【ひな型】【チャート】であると思うのですが。

シートのコピー回数に制限でもあるのでしょうか?
マクロで回避が出来る方法があればお教え下さい。
次のリストを選択前に毎回【ファイルA】を閉じる以外無いのでしょうか?
よろしく御指導下さい。

A 回答 (2件)

こんにちは。



今の状態では、解決の目処が立ちません。

コードを見せずに、言葉だけで判断してください、という方は時々いますが、ほとんど解決していないはおろか、多くは最後はトラブルの原因になるので、ご自身で、良くコードの内容をまとめられたほうがよいです。回答者泣かせの質問です。

7回目でエラーになるのは、おそらくは、オブジェクトを取得しながら、解放をしていないのが原因だと想像します。
    • good
    • 0

こんにちは。



本当は、きちんとした全体のコードと説明を入れていただきたかったですね。
その問題はねもうお分かりになっているかもしれませんが、

Worksheets と Sheets の違いではないかと思います。
チャートとは何を指すか知りませんが、おそらく、Worksheet ではないのではないでしょうか?Chart ではありませんか?それは、Copy メソッドでは取得できません。
    • good
    • 0
この回答へのお礼

Wendy02様。
Worksheets("ひな型").copy before:=worksheets(1)を
Sheets("ひな型").copy before:=Sheets(1)に変更して試してみましたが、残念ながら7回目で同様なエラーです。

シート名【チャート】はワークシートです。
全体のコードは長くて記載できません。

(4)でエラーになったとき、シートを見てみると、
【ひな型】にある「グラフ11」の「第2数値軸」が選択された状態で止まっています。
「グラフ11」「第2数値軸」は【マクロ表示】の前半部分でAxesで設定しています。

マクロ初心者なので、本を見ながら記述しています。
さらなるアドバイスをお願いいたします。
ありがとうございました。

お礼日時:2008/03/22 09:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!