Excel VBA質問箱 IV

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

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


3688 / 76735 ←次へ | 前へ→

【78676】Re:処理速度を上げたい
発言  β  - 16/12/15(木) 12:53 -

引用なし
パスワード
   ▼北風 さん:

とくにコード自体で大きな問題があるとは思えません。
まぁ、処理に必要な時間なんじゃないですか。

最初の Columns("A:B").Select は意味がないから不要とか
With ActiveSheet.PageSetup と End With のブロックが2回あるので
まとめて一度の With で済むとか、  
With ActiveSheet.PageSetup としてセットしている項目が多いのに、
ぽつんと、ActiveSheet.PageSetup.PrintArea = "" と単独でやっているとか
Columns("F:F").ColumnWidth = 9.5 といったコードを書いているのに
  Columns("C:E").Select
  Selection.ColumnWidth = 5.5
こんなように、Select/Selectionベースで無駄な2行にしているところがあるとか

そういうところはありますが、微々たるものですから。

もちろん、PageSetup 領域には様々な設定項目があるわけで、
マクロ記録をすると、規定値も含めてすべての項目の設定コードが生成されますが
規定値については、設定コードをなくし、とくに指定したい項目のみに絞るというのは
やってみられたらいいと思いますが。

ところで、最後の

If fs = False Then End

もちろん、これでもいいのですが、 End ステートメントはできるだけ避けたほうがいいですよ。

ふつうに

If fs = False Then Exit Sub

にしておかれたらいかがですか?
2 hits

【78675】処理速度を上げたい 北風 16/12/15(木) 12:04 質問[未読]
【78676】Re:処理速度を上げたい β 16/12/15(木) 12:53 発言[未読]
【78677】Re:処理速度を上げたい 北風 16/12/15(木) 18:11 お礼[未読]

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