次の方法で共有

Excel 2010 のマクロ実行時に Paste メソッドでエラーが発生してしまう。

Anonymous
2015-03-20T09:36:34+00:00

コピー元シートのデータをコピー先シートに単純にコピーするマクロを実行しています。

なにが原因なのかわからないため、困っています。教えていただければ助かります。

Sub 組織情報()

' 従業員マスターからグループ別情報一覧を作る

    Dim i As Long, i1 As Long, i2 As Long, i3 As Long, i4 As Long, i5 As Long

    Application.ScreenUpdating = False

' グループ別情報一覧新シートにグループ別情報一覧原型シートをコピーする

    Sheets("グループ別情報一覧原型").Select

    Cells.Select

    Application.CutCopyMode = False

    Selection.Copy

    Sheets("グループ別情報一覧新").Select

  Cells.Select

    ActiveSheet.Paste             ←①ここでエラーが発生

    Application.CutCopyMode = False

エラー内容: 

実行時エラー ’-2147417848(80010108)

Paste’メソッドは失敗しました:’_Worksheet’オブジェクト

実行環境

Windows7 Professional Service Pack1

Excel2010 バージョン 14.07145.5000(32ビット)

Office Standard 2010

いろいろ試してみましたが、エラーになってしまいます。

試み1: ①の前のCells.SelectをRange("A1").Selectに変更してみましたが結果は同じでした。

試み2: ①の前にタイマーカウントで10秒まつコードを実施してみましたが結果は同じでした。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2015-03-20T20:44:52+00:00

2003版までと違ってとんでもなく巨大なsheetになっているためでしょう。

   Sheets("グループ別情報一覧原型").Select

    Cells.Select

    Application.CutCopyMode = False

    Selection.Copy

    Sheets("グループ別情報一覧新").Select

  Cells.Select

    ActiveSheet.Paste  

   ↓

 使っているセル範囲だけコピーしてそのまま目的のシートへ貼り付ければエラーにならないかもしれません。 下記は1行で、左側はコピー元 右側はpast先です。

   Sheets("グループ別情報一覧原型").UsedRange.Copy    Sheets("グループ別情報一覧新")..Range("A1")

この回答は役に立ちましたか?

3 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2015-03-21T07:15:21+00:00

そのコピーしようとしている表に何か問題があるかもしれませんね。

手動で、

グループ別情報一覧原型のシートを選択→すべてのセルを選択→コピー→グループ別情報一覧新のシートを選択→すべてのセルを選択→貼り付け

ではエラーにならないのでしょうか?

それが出来たら、試しに

・コピーする方のシートを変更してみる

・貼り付ける方のシートを変更してみる

・コピーする範囲を変更してみる

・貼り付ける範囲を変更してみる

など、その辺から何が原因か特定していくとよいです。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2015-03-23T01:49:28+00:00

    2003版までと違ってとんでもなく巨大なsheetになっているためでしょう。

       Sheets("グループ別情報一覧原型").Select

        Cells.Select

        Application.CutCopyMode = False

        Selection.Copy

        Sheets("グループ別情報一覧新").Select

      Cells.Select

        ActiveSheet.Paste  

       ↓

     使っているセル範囲だけコピーしてそのまま目的のシートへ貼り付ければエラーにならないかもしれません。 下記は1行で、左側はコピー元 右側はpast先です。

       Sheets("グループ別情報一覧原型").UsedRange.Copy    Sheets("グループ別情報一覧新")..Range("A1")

    ご指摘ありがとうございます。

    コピー元の範囲を指定して、実施してみましたら、エラーは発生しませんでした。

    やはり、”Cells.Select”では、巨大なSheetになっていたようです。同じようなコピーの仕方でおこなっている別の箇所も範囲を指定するように変更しました。

    助かりました。ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2015-03-23T01:41:27+00:00

    そのコピーしようとしている表に何か問題があるかもしれませんね。

    手動で、

    グループ別情報一覧原型のシートを選択→すべてのセルを選択→コピー→グループ別情報一覧新のシートを選択→すべてのセルを選択→貼り付け

    ではエラーにならないのでしょうか?

    それが出来たら、試しに

    ・コピーする方のシートを変更してみる

    ・貼り付ける方のシートを変更してみる

    ・コピーする範囲を変更してみる

    ・貼り付ける範囲を変更してみる

    など、その辺から何が原因か特定していくとよいです。

    ご指摘ありがとうございます。

    手動で、おこなってみましたら、同じエラーが発生しました。

    【<グループ別情報一覧原型のシートを選択→すべてのセルを選択→コピー→グループ別情報一覧新のシートを選択→すべてのセルを選択→貼り付け】

    ですので、コピー元を使っているセル範囲だけコピーするように変更をして実施しましたら、エラーは回避され、コピーできました。

    助かりました。ありがとございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません