[[20240321015848]] 『毎ファイルで使う基本的なコードについて』(jjx) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『毎ファイルで使う基本的なコードについて』(jjx)

VBAを使うときによく使う、画面の更新を止める、はじめる
といのを毎ファイルに書いて
必要なときに呼び出して
call ed(エンドの意)
call st(スタートの意)
としています
似たようなものがいくつかあります

それらは、新しいファイルを作るたびに書かなければ
どうしようもないですか?
VBAの初期値としてある適度のコードを保持させておきたいです

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 私は、常にそれら(Screenupdating,Calculation等)を律儀に実行することはありませんね。
 もしするなら、そういうものをプロシージャ化しておくこともあるでしょうね。
 特別なオプションでそれらを省略するといった方法はないと思います。
(xyz) 2024/03/21(木) 05:50:13

 個人用マクロにそれらの定型プロシージャを置いて、それをCallするという手もあるかもしれません。

(xyz) 2024/03/21(木) 06:14:28


 外部との通信でよく使う手を応用すれば、
 以下のような使い方も可能かと。

 クラスのInitialize、Terminateイベントにて。
 プロシージャ先頭で宣言、インスタンス化しておけば、
 そのプロシージャから抜ける際、破棄イベントが発生で、
 後始末する。

 '標準Module
 Sub sample()
     Debug.Print "START"
     Call subProc
     Debug.Print "END"
 End Sub
 Private Sub subProc()
     Dim c As Class1
     Set c = New Class1
     Debug.Print "SUB"
 End Sub

 'Class1 Module
 Private Sub Class_Initialize()
     Application.ScreenUpdating = False
 End Sub

 Private Sub Class_Terminate()
     Application.ScreenUpdating = True
 End Sub

(tkit) 2024/03/21(木) 08:28:06


 >画面の更新を止める、はじめる

 基本的に使わない、障害があるような気がして余計に使わなくなった
 動かない状態で待たされる分余計に時間かかっているような気になる
 画面が更新されてないと、フリーズしているのかと勘違いするし
(心配性) 2024/03/21(木) 10:08:23

 > 似たようなものがいくつかあります
 > それらは、新しいファイルを作るたびに書かなければ
 > どうしようもないですか?

 一例として画面の更新が挙げられてますが、質問の本質はこちらですね。

 すでに出ていますが、個人用マクロに置いておけばいいでしょう。
 あるいは、アドインにするかですね。

 これも既に出ていますが、クラスにしておけば、最初に宣言、生成しておけば、
 最後に戻す処理を記述しなくてもよくなります。

 クラス化とアドイン化については下記が参考になるでしょう。

 エクセルVBAの実行速度を高速化するための処理をクラス化する方法
https://tonari-it.com/excel-vba-class-performance-booster/

 便利なクラスを使い回す!エクセルVBAで自作クラスをアドイン化する方法
https://tonari-it.com/excel-vba-class-addin/

 エクセルVBAで自作アドインの便利クラスを活用する方法
https://tonari-it.com/excel-vba-class-addin-reference/

(hatena) 2024/03/21(木) 10:34:14


1.必要なコードをbas,frm,frx,cls等々でで保存しておく
2.起動時に自動で新規ブックにそれらをインポートして配置済みの物を適当に名前を付けて
  「連番使用^^;」保存して自分は終了するマクロを仕込んでおく
3.エクセル起動パラメーターにそのブックを指定する様にエクセル本体のショトカットを変更

所要時間表示も含めてクラスにしたものをよく使っています。^^;
心配性さんご案内の件も。。。ありますよね。
別途対応という事で。。。(*^^*)

もう既にすばらしい解決方法がご案内済で恐縮です。。。m(__)m

(隠居Z) 2024/03/21(木) 11:00:20


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.