Excel VBA質問箱 IV

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

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


3820 / 13645 ツリー ←次へ | 前へ→

【59912】Autofilterが遅くなる 亜矢 09/1/18(日) 13:41 質問[未読]
【59920】Re:Autofilterが遅くなる かみちゃん 09/1/18(日) 18:37 発言[未読]
【59921】Re:Autofilterが遅くなる 亜矢 09/1/18(日) 19:02 質問[未読]
【59923】Re:Autofilterが遅くなる かみちゃん 09/1/18(日) 19:16 発言[未読]
【59924】Re:Autofilterが遅くなる 亜矢 09/1/19(月) 7:56 質問[未読]
【60027】Re:Autofilterが遅くなる 亜矢 09/1/24(土) 12:26 お礼[未読]

【59912】Autofilterが遅くなる
質問  亜矢  - 09/1/18(日) 13:41 -

引用なし
パスワード
   よろしくお願いします。
下記のプログラムで、sheet1にAutoFilterをやっていれば、それを解除するプログラムの一部ですが、通常は問題なく動きますが、あるとき突然に、ものすごく時間(10秒程度)がかかります。それ以後はどうやっても早くならず、そのままになり、しょうがないので、正常なシートをコピーしてやると元に戻すのですが、原因と対策について教えて頂きたいと思います。

Sub Test()
Dim PL, i
Dim mysht As Worksheet
Dim myaflt As AutoFilter
Dim myrang As Range
Dim Mat()
Dim Nat
  Sheets("sheet1").Activate
  Set mysht = Sheets("sheet1")
  Set myaflt = mysht.AutoFilter
  If Not myaflt Is Nothing Then
   myaflt.Range.AutoFilter
  End If
  Set myrang = Nothing
  Set myaflt = Nothing
  Set mysht = Nothing
  ・
  ・ 
End sub

なぜ 遅くなるのか、また解決方法がありましたら、ご指導お願いします。

【59920】Re:Autofilterが遅くなる
発言  かみちゃん E-MAIL  - 09/1/18(日) 18:37 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>なぜ 遅くなるのか、また解決方法

再計算を手動にして、実行してみたらいかがですか?

【59921】Re:Autofilterが遅くなる
質問  亜矢  - 09/1/18(日) 19:02 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>なぜ 遅くなるのか、また解決方法
>
>再計算を手動にして、実行してみたらいかがですか?
早速のご指導ありがとうございます。
再計算とはExcel2007の場合は
Excelオプション 数式 計算方法の設定 手動でよろしいでしょうか。
また今回はそのブックにはシートが15枚作ってあり、特定のシートだけが
遅いのです。
 よろしくお願いします。

【59923】Re:Autofilterが遅くなる
発言  かみちゃん E-MAIL  - 09/1/18(日) 19:16 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>>なぜ 遅くなるのか、また解決方法
>>
>>再計算を手動にして、実行してみたらいかがですか?
>早速のご指導ありがとうございます。
>再計算とはExcel2007の場合は
>Excelオプション 数式 計算方法の設定 手動でよろしいでしょうか。
>また今回はそのブックにはシートが15枚作ってあり、特定のシートだけが
>遅いのです。

なるほど。Excel2007でしたか。
Excel2007は、周りに環境がないので、よく知りません。
たぶん、それで合っていると思いますが、
そもそも、特定のシートだけが遅いというのが、よくわかりません。

また、それは、VBAの話だろうかという感じもします。

【59924】Re:Autofilterが遅くなる
質問  亜矢  - 09/1/19(月) 7:56 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>>>なぜ 遅くなるのか、また解決方法
>>>
>>>再計算を手動にして、実行してみたらいかがですか?
>>早速のご指導ありがとうございます。
>>再計算とはExcel2007の場合は
>>Excelオプション 数式 計算方法の設定 手動でよろしいでしょうか。
>>また今回はそのブックにはシートが15枚作ってあり、特定のシートだけが
>>遅いのです。
>
>なるほど。Excel2007でしたか。
>Excel2007は、周りに環境がないので、よく知りません。
>たぶん、それで合っていると思いますが、
>そもそも、特定のシートだけが遅いというのが、よくわかりません。
>
>また、それは、VBAの話だろうかという感じもします。
遅いシートは行数で約5万行 列数で26列です。
通常は1秒にも満たない時間で処理できます。
 また手動のフィルターで実行しても問題が無いときは1秒以下で処理できますが、何らかの調子で遅い時は30秒程度かかります。
 また、遅い時に行の削除をすると、リソースが不足しています・・・とかの
警告がでます。
  早い時は警告は当然でません。
 またシートには計算式は一切ありませんが、計算自体はVBAで実行していて
 計算した結果がシートに記入されています。
 この程度のヒントで何かわかるようでしたら、ご指導のほどよろしくお願いします。

【60027】Re:Autofilterが遅くなる
お礼  亜矢  - 09/1/24(土) 12:26 -

引用なし
パスワード
   ▼亜矢 さん:
>▼かみちゃん さん:
>>こんにちは。かみちゃん です。
>>
>>>>>なぜ 遅くなるのか、また解決方法
>>>>
>>>>再計算を手動にして、実行してみたらいかがですか?
>>>早速のご指導ありがとうございます。
>>>再計算とはExcel2007の場合は
>>>Excelオプション 数式 計算方法の設定 手動でよろしいでしょうか。
>>>また今回はそのブックにはシートが15枚作ってあり、特定のシートだけが
>>>遅いのです。
>>
>>なるほど。Excel2007でしたか。
>>Excel2007は、周りに環境がないので、よく知りません。
>>たぶん、それで合っていると思いますが、
>>そもそも、特定のシートだけが遅いというのが、よくわかりません。
>>
>>また、それは、VBAの話だろうかという感じもします。
>遅いシートは行数で約5万行 列数で26列です。
>通常は1秒にも満たない時間で処理できます。
> また手動のフィルターで実行しても問題が無いときは1秒以下で処理できますが、何らかの調子で遅い時は30秒程度かかります。
> また、遅い時に行の削除をすると、リソースが不足しています・・・とかの
>警告がでます。
>  早い時は警告は当然でません。
> またシートには計算式は一切ありませんが、計算自体はVBAで実行していて
> 計算した結果がシートに記入されています。
> この程度のヒントで何かわかるようでしたら、ご指導のほどよろしくお願いします。
問題が解決しました。何行有っても1秒以内で検索できることが判明しました。
 プログラムのミス(セルが無いところにデータをいれてあったから) 

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