Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3467 / 13644 ツリー ←次へ | 前へ→

【61990】シート間のセルの一括コピーでExcelループ 新田 哲二 09/6/16(火) 8:53 質問[未読]
【62040】Re:シート間のセルの一括コピーでExcelルー... りん 09/6/18(木) 10:16 発言[未読]

【61990】シート間のセルの一括コピーでExcelループ
質問  新田 哲二 E-MAIL  - 09/6/16(火) 8:53 -

引用なし
パスワード
   対象シートのシート保護が有効になっていても、関数の仕様を調査するために、以下のラインを使って自ブックにコピーしています。

Worksheets(SheetName).Cells.Copy Destination:=ThisWorkbook.Worksheets(SheetName)Cells

対象数は多く、実行の最初は快適に実行していますが、徐々にスローダウンしていきます。その内、上記のラインでVBAインタプリタ内でループ(CPU100%)してしまいます。

この問題を回避する方法をご存知の方は教えていただけませんか。

本問題はExcel2003でも2007でも発生します。

【62040】Re:シート間のセルの一括コピーでExcelル...
発言  りん E-MAIL  - 09/6/18(木) 10:16 -

引用なし
パスワード
   新田 哲二 さん、こんにちわ。
>対象シートのシート保護が有効になっていても、関数の仕様を調査するために、以下のラインを使って自ブックにコピーしています。

>Worksheets(SheetName).Cells.Copy Destination:=ThisWorkbook.Worksheets(SheetName)Cells

必要なところだけ処理してみては?

  With ThisWorkbook.Worksheets(Sheetname)
   .Cells.Clear '余計な情報は消しておく
   Set r1 = Worksheets(Sheetname).UsedRange
   r1.Copy Destination:=.Range(r1.Address)
  End With

こんな感じです。

3467 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free