Excel VBA質問箱 IV

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

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


16831 / 76738 ←次へ | 前へ→

【65371】Re:処理速度について
回答  H. C. Shinopy  - 10/5/15(土) 23:24 -

引用なし
パスワード
   万件単位のデータを扱うのであれば、
まず、ハードウェアから対処したらどうでしょう。

メモリーに空きがあれば増設する。
あるいはハードディスクの容量を増やす。(例えば250GBを1TBにする。)
SATAをSATA IIにするとか…(自分のパソコンのフタをはずして見たら、両規格接続できるようになっていました。)

その前に、取り敢えず、マクロには「Application.ScreenUpdating = False」
(無論、処理終了前に必ずTrueを指定)を追加。

それからIf文の一部はSelect Case文を使うほうがいいでしょう。
掲示マクロのIf文は下のような意味になるだろうと考えてみましたが、
果たして正しく動作するかどうか不明。御参考までに。

       If TARGET(r, 0) <> Cells(i, "A").Value Then
        GoTo 抜ける
       End If
       '
       myItem = Cells(i, 1).Value 'A列
       必要数 = Cells(i, 2).Value 'B列
       '
       'もし、空白でなかったら、
       If Cells(i, x).Value <> "" Then
        Select Case TARGET(r, 1)
         '
         ' 必要数が仕掛より少ない場合はピンク(引当)
         Case 0
          Select Case TARGET(r, 2)
           Case 0
            GoTo 抜ける
           Case Is > 必要数
            Cells(i, x).Interior.ColorIndex = 38
            TARGET(r, 2) = TARGET(r, 2) - 必要数
           Case Else ' 0 to 必要数
            Cells(i, x).Interior.ColorIndex = 6
            TARGET(r, 2) = 0
          End Select
          '
         ' 必要数が在庫より少ない場合は緑(引当)
         Case Is > 必要数
          Cells(i, x).Interior.ColorIndex = 4
          TARGET(r, 1) = TARGET(r, 1) - 必要数
        
         ' 必要数が在庫より多くて、在庫がゼロより多い場合は数不足の為、黄色
         Case Else ' 0 to 必要数
          Cells(i, x).Interior.ColorIndex = 6
          TARGET(r, 1) = 必要数 - TARGET(r, 1)
          TARGET(r, 2) = TARGET(r, 2) - TARGET(r, 1)
          TARGET(r, 1) = 0 '完成引当の終了
        End Select
       End If

0 hits

【65351】処理速度について かな 10/5/14(金) 8:56 質問
【65352】Re:処理速度について Hirofumi 10/5/14(金) 12:51 発言
【65353】Re:処理速度について かな 10/5/14(金) 13:24 発言
【65355】Re:処理速度について neptune 10/5/14(金) 14:36 発言
【65380】Re:処理速度について かな 10/5/17(月) 8:57 お礼
【65360】Re:処理速度について Hirofumi 10/5/14(金) 16:46 回答
【65381】Re:処理速度について かな 10/5/17(月) 8:58 お礼
【65361】Re:処理速度について よろずや 10/5/14(金) 18:34 発言
【65382】Re:処理速度について かな 10/5/17(月) 9:02 お礼
【65371】Re:処理速度について H. C. Shinopy 10/5/15(土) 23:24 回答
【65383】Re:処理速度について かな 10/5/17(月) 9:07 お礼
【65394】Re:処理速度について かな 10/5/18(火) 8:40 質問
【65397】Re:処理速度について Hirofumi 10/5/18(火) 11:01 発言
【65413】Re:処理速度について かな 10/5/19(水) 12:30 お礼
【65416】Re:処理速度について Hirofumi 10/5/19(水) 13:31 発言
【65435】Re:処理速度について かな 10/5/20(木) 14:03 発言
【65439】Re:処理速度について Hirofumi 10/5/20(木) 15:49 回答
【65411】Re:処理速度について mura 10/5/19(水) 10:34 回答
【65414】Re:処理速度について かな 10/5/19(水) 12:32 お礼

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