• ベストアンサー

エクセルに関する質問です。

エクセルに関する質問です。 マクロである原本となるシートをどんどんコピーしてシートを追加していったのでですが、「実行時エラー 1004 worksheetクラスのcopyメソッドが失敗しました」の表示がでてコピーできなくなりました。最大枚数の256枚にも達しておらず、マクロではない通常の操作でもシートの追加が不可能になりました。解決方法はあるでしょうか。エクセル2000です。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

一定条件を超えてコピーできないような場合は、以下のページが参考になると思います。 Excel でプログラムを使用してワークシートをコピーするとランタイム エラー 1004 が発生する http://support.microsoft.com/kb/210684/ja もしExcel97で作成したシートを受け継いでいるなら、念のためにAlt+F11でVBEを起動し、プロパティウィンドウのオブジェクト名が「Sheet11111111」のように長い名前になっていないか調べてください。

その他の回答 (1)

回答No.1

Excel 2000のブックで追加可能なシート数は、使用可能なメモリに依存しますので、解決方法はメモリの増設くらいしかありません。 Excel 2000のヘルプを開くと、 □Microsoft Excel にようこそ [?]Excel の仕様 の所に、下記の記述があります。 >開けるブック 使用可能メモリとシステム リソースに依存 >・・・・ >(中略) >・・・・ >ブックのシート 使用可能メモリに依存 (既定では 3)

関連するQ&A

  • VBAにて新規ブックへ既存シートのコピー

    みなさんのお力を貸して下さい。 現在エクセルマクロにて新規ブックを作成し、作成したブックへ既存のシートをコピーをしたいと思っています。 しかし、コピーメソッド実行時にエラー1004 WorksheetクラスのCopyメソッドが失敗しましたというエラーが発生して困っています。 Dim oXls As Object Dim oWbk As Object Dim oSheet As Object Set oXls = CreateObject("Excel.Application") Set oWbk = oXls.Workbooks.Add ThisWorkbook.Worksheets("Sheet1").Copy Before:=oWbk.Worksheets("Sheet1")  どなたかご教授、よろしくお願いします。

  • エクセル マクロ シートの追加 メモリー

    エクセル2003のマクロでシートのコピーを行っておりますが、シート数35枚程度からたびたびマクロ異常が出ます。(表示内容:実行エラー 1004worksheetクラスcopyソメッドが失敗しました ) メモリーが足りないのでしょうか、 現在の回避方法:異常が出たらエクセルを再読み込みする。作業終了まで4回程度再読み込みで、終了時ファイルの大きさは約4000kbytです。 詳しいご指導をいただければ幸いです Sub シート追加() ' Macro2 Macro ' マクロ記録日 : 2011/2/3 ユーザー名 : son ' Keyboard Shortcut: Ctrl+q ActiveCell.FormulaR1C1 = Date Range("D8").Select 'シートのコピー Sheets("sheet1(0)").Copy After:=Sheets(3) '上書保存 ActiveWorkbook.Save End Sub

  • VBからExcelのシートを操作する

     VBからExcelを操作するのですが、  たとえば、Book1のSheet1 を Book2のSheet1の後ろへ  という形でシートをコピーしたいのですがうまくいきません。    Sheet1,Sheet2を Excel.Worksheet 型で定義した変数へそれぞれ取得し、Sheet1のcopyメソッドを使って試しています。  Sheet1.copy のみだと、新たなブックへきちんとコピーされるのですが、After:= Sheet2 をつけるとエラーが起きてしまいます。  この方法で、また、他の方法でもうまくいく方法を御存知の方、何卒御教授のほどをお願いします。

  • エクセルのマクロを使って・・・

    見積書を作成するマクロを作っているのですが、シートの追加がうまくいかず困っています。 見積書を作る際に、明細を入力する行が足らない時に、あらかじめ、作ってある『明細マスター』と言う名前のシートから、明細書をコピーして新しいシートを挿入して、そこに貼り付けると言う作業を、最大で“明細書(1)~(5)”5枚のシートを追加できる…と言う、マクロを作りたいのですが… 追加する枚数はその都度、違うそうなので、1回実行すると、『明細書(1)』が追加され、2回目の実行で『明細書(2)』が追加・・・・・ と言うようなマクロを作りたいのですが・・・ Sub 明細書() Worksheets.Add After:=ActiveSheet ActiveSheet.Name = "明細書(1)" Sheets("明細マスター").Select Cells.Select Selection.Copy Application.CutCopyMode = False Selection.Copy Sheets("明細書(1)").Select Cells.Select ActiveSheet.Paste Range("B2").Select End Sub 上記のマクロで、一枚だけの追加だと明細書が追加されるんですが、それを最大5枚まで追加すると言うマクロが分かりません。 質問が、分かりにくかったら申し訳ありませんが、よろしくお願いいたします。

  • Excelvba2000でExcelファイル間のコピーを行いたい

    現在マクロ実行中のExcelブックのシートのセルの値を、 新規作成したブックのシートのセルに値を貼り付けたいのですが、 うまくいきません。 ただし、コピーの条件として、クリップボードは使用しない Activeメソッドや、Selectメソッドも使用しないという制約があります 以前は、うまくいっていたのですが、コードの書き方を忘れてしまいました。以下の★印の行で、 「RangeクラスのCopyメソッドが失敗しました。」とエラーが出ます。 以前は、以下のコードに似た、ロジックで、問題なかったのですが、 どこか間違っていますでしょうか? Dim xlsApp As Excel.Application Dim xlsBook As Excel.Workbook Dim xlsSheet As Excel.Worksheet Set xlsApp = CreateObject("Excel.Application") Set xlsBook = xlsApp.Workbooks.Add Set xlsSheet = xlsBook.Worksheets(1) '★エラー発生 ThisWorkbook.Worksheets("Sheet1").Range("A1:D4").Copy _ Destination:=xlsBook.Worksheets("Sheet2").Range("E5")

  • エクセルをバージョンアップさせたらマクロがうまくいきません

    OSはXPです エクセル2002から 2003にバージョンをあげました いままでうまくいっていたマクロが Range(Cells(1, 1), Cells(Cells(65535, 1).End(xlUp).Row, 9)).Select Selection.Copy Sheets("Sheet1").Select Sheets.Add ActiveSheet.Paste このような内容で ActiveSheet.Paste  この部分でエラーが起きます 「実行時エラー ”1004”  worksheetクラスのpasteメソッドが   失敗しました」 というメッセージがでます。 どういう対処をしたらよろしいでしょうか? ご教授ください。 (バージョンを元にに戻すなど)

  • EXCEL VBA 他のアプリケーションからの自動貼り付け

    OSはWIN XP HOME, EXCELは2002を使用しています。 よろしくお願いします。 ●現在の運用 1.全く別のアプリケーションの情報をコピー(ユーザー操作) 2.sheet1のセル"a10"を一度左クリック後、右クリックして貼り付け(ユーザー操作) 3.マクロ実行(ユーザー操作) ●上記の運用を以下のようにしたいと思っています。 1.全く別のアプリケーションの情報をコピー(ユーザー操作) 2.マクロ実行(ユーザー操作) つまりマクロのはじめの部分に Range("a10").Select ActiveSheet.Paste というような内容を挿入した後に本来のマクロを実行したいのですが、ActiveSheet.Paste のところで「Worksheetクラスの Paste メソッドが失敗しました。」と表示されてしまい、うまく行きません。 ユーザーがクリックする場所をA9や B10などを選択してしまうと期待する結果が出ないため、是非とも対応したいと思っています。よい方法はないでしょうか?

  • エクセル共有化のトラブル

    マクロを含むエクセルファイル(AUTO_OPEN()で起動)を共有化したところ、「実行時エラー'1004:Worksheetクラスの Unprotectメソッドが失敗しました。」という表示が出て、止まってしまいます。共有化する前は問題なく動いていたのですが、何が原因なのか、教えてください。よろしくお願いします。

  • エクセルのマクロ コマンドボタンなどについて

    エクセルのマクロを作っています。 しかし、コマンドボタンを作って記述しても、エラー(実行時エラー'1004' copyメソッドが失敗しました)が出ます。マイクロソフトのHPのQ&Aを参照してみましたが、それでもうまく動きません。 その他、コンボボックスなども使ってみたいのですが、どうすればボタンを押せば特定の操作が出来るようになるのでしょうか? ちなみに、実行させる内容は、セルのコピーと、データの追加にしたがって、新しいデータに対して自動で新しい番号を割り付ける、この程度です。 大変困っています。 どなたか教えてください。 差し支えなければ、列単位、行単位、セル単位のコピーや、自動で番号を割り付ける簡単なマクロの記述を添えていただけますと、ありがたく存じます。 なにとぞよろしくおねがいします。

  • エクセルのマクロの質問です。

    オートフィルタを使ってデータを検索しているのですが、ファイルを閉じる時には自動的に「全て表示」にして閉じたいと思います。 試しに下記のマクロで実行してみたのですが、 Sub Auto_Close() ActiveSheet.ShowAllData End Sub フィルタで検索していれば自動的に「全て表示」になって問題なく閉じる事ができるのですが、最初から「全て表示」になっていると失敗し(当然ですよね)下記のエラーメッセージが出ます。 実行時エラー'1004': worksheetクラスのshowAllDataメソッドが失敗しました。 そこで、「全て表示」になっている時はそのまま閉じるを追加してマクロを完成させたいのですが、どうすればいいのでしょうか? 教えて下さい。お願いします。

専門家に質問してみよう