Excel VBA質問箱 IV

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

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


44990 / 76732 ←次へ | 前へ→

【36749】データを取得する便利なマクロですが、処理を速くするには?
質問  カド  - 06/4/12(水) 14:43 -

引用なし
パスワード
   私が一番活用しているマクロですが、処理数を増やしたら、すごく処理が遅くなりました。
原始的なコードを書くのが好き(というよりそれしか書けない)なのですが、これじゃあ実用に耐えません。

1.処理速度を上げるには、どう変更したら良いのでしょうか?
2.処理数が50,000個だとPCが固まってしまいます。
  遅いのは分かるのですが、固まるという現象はどうして起きるのでしょうか?

****************************
アクティブセルと同じ値のセルを、アクティブセルの3つ左の列から探し出し、探しだしたセルの右にある値をアクティブセルの右に書き出すマクロです。


Sub データ取得1個()
  Dim Count, aaa As Long
  
  
  Set ACELL = ActiveCell '検索元
  Set BCELL = ActiveCell.Offset(0, -3) '検索先
  
  aaa = 50000  ’←処理数が2000ならまったく問題ない。
  
  Count = 0
  Count1 = 0
  
  Do Until Count1 = aaa '検索元を100行実行
  
    Do Until Count = aaa 'データベース(検索先)を100行検索

      If ACELL = BCELL Then '見つかった場合
        ACELL.Offset(0, 1) = BCELL.Offset(0, 1) 'データの書き込み
       
        Count = 0 '検索先のデータ検索数
        Exit Do
      Else '見つからなかった場合
        Set BCELL = BCELL.Offset(1, 0) '検索先を次に変更
        Count = Count + 1 '検索先のデータ検索数
        
      End If
    Loop
    
    Set ACELL = ACELL.Offset(1, 0)
    Set BCELL = ActiveCell.Offset(0, -3)
   
   Count1 = Count1 + 1 '検索元のデータ検索数
   Count = 0
  Loop

MsgBox aaa & "個処理が終了しました。"
End Sub

2 hits

【36749】データを取得する便利なマクロですが、処理を速くするには? カド 06/4/12(水) 14:43 質問
【36750】Re:データを取得する便利なマクロですが、... Statis 06/4/12(水) 14:53 発言
【36751】Re:データを取得する便利なマクロですが、... カド 06/4/12(水) 14:58 発言
【36753】Re:データを取得する便利なマクロですが、... Statis 06/4/12(水) 15:08 回答
【36754】Re:データを取得する便利なマクロですが、... カド 06/4/12(水) 15:37 お礼
【36756】Re:データを取得する便利なマクロですが、... Statis 06/4/12(水) 15:57 回答
【36757】Re:データを取得する便利なマクロですが、... カド 06/4/12(水) 16:37 お礼
【36760】Re:データを取得する便利なマクロですが、... Statis 06/4/12(水) 17:01 回答
【36763】超高速処理でしたよ。なんてね。 カド 06/4/12(水) 17:52 お礼
【36764】蛇足でしたらごめんなさい。 Ned 06/4/12(水) 20:13 発言
【36771】Re:蛇足でしたらごめんなさい。 カド 06/4/13(木) 6:13 お礼
【36772】ほんとに超高速でした。 カド 06/4/13(木) 6:53 お礼
【36796】やはり1秒で処理できました。 カド 06/4/14(金) 8:40 お礼
【37191】大きな問題があることに気づきました。 カド 06/4/25(火) 15:23 質問
【37197】Re:大きな問題があることに気づきました。 Ned 06/4/25(火) 16:18 発言
【37223】Re:大きな問題があることに気づきました。 Ned 06/4/26(水) 10:05 発言
【37247】Re:大きな問題があることに気づきました。 カド 06/4/26(水) 21:34 お礼
【37249】こちらこそ。勉強させて頂きました^ ^ Ned 06/4/26(水) 23:10 発言
【36752】Re:データを取得する便利なマクロですが、... Kein 06/4/12(水) 15:00 回答
【36755】Re:データを取得する便利なマクロですが、... カド 06/4/12(水) 15:41 お礼
【36758】Re:データを取得する便利なマクロですが、... Kein 06/4/12(水) 16:51 回答
【36762】Re:データを取得する便利なマクロですが、... カド 06/4/12(水) 17:22 お礼

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