No.3
- 回答日時:
こんばんは。
前に書いていた方たちと内容は重複しますが、2013になったところで、エラーが出て変わらないと思います。個々のメモリの割り振りは、そんなに変わらないと思います。
私のExcelで作ったシステムは、数万行あるはずですが、なんの支障もありません。
ただ、1プロシージャは、百行以内で留めるべきで、それを機能別に、モジュールに別けていくようにします。例えば、画面制御するとか、テキスト処理するとか、シート処理とか。構造化します。しかし、あまりモジュールをどんどん増やすのは良くありません。管理ができなくなるからです。
プログラム自体が、2000行では、そもそも修正も利かないはずです。
2000行というのは、記録マクロで作り上げたもののような気がしますが、それは、無駄が多いはずですから、本格的なプログラミングを学ばないとコンパクトにならないかもしれません。
#2さんの話、64K って、昔の初期のコンパイル後の制限だったような気がしますが、VBAは当時のままを残しているようですね。オプションの順次コンパイルにするか、しないかで多少は変わるかもしれませんが、2000行の、一つのプロシージャでは、あまり期待できませんね。
No.2
- 回答日時:
に、
The amount of code that can be loaded into a form, class, or standard module is limited to 65,534 lines. A single line of code can consist of up to 1023 bytes. Up to 256 blank spaces can precede the actual text on a single line, and no more than twenty-four line-continuation characters ( _) can be included in a single logical line.
フォーム、クラス、標準モジュールにロードすることができるコードの量は65534行に制限される。単一のコード行は1023バイトまで構成できる。
とある。
また、
There is no limit on the number of procedures per module. Each procedure can contain up to 64K of code. If a procedure or module exceeds this limit, Visual Basic generates a compile-time error. If you encounter this error, you can avoid it by breaking extremely large procedures into several smaller procedures, or by moving module-level declarations into another module.
モジュールあたりのプロシージャの数に制限はない。各プロシージャは、64Kまでコード含めることができる。プロシージャまたはモジュールがこの制限を超えた場合、Visual Basicは、コンパイル時エラーを生成する。このエラーが発生した場合は、極端に大きなプロシージャをいくつかの小さなプロシージャにを分けるか、またはモジュールレベルの宣言を別のモジュールに移すことによってそれを避けることができる。
とある。
プロシージャに行数の制限があるわけではない。全体のサイズに制限がある。サイズはコンパイル後のサイズか。64Kはセグメントといったっけ?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
【お題】・忍者がやってるYouTubeが炎上してしまった理由
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
モジュールの最大数はいくつなのでしょうか?
Access(アクセス)
-
VBで構造体を使うさ際の64k制限の回避方法教えてください。
Visual Basic(VBA)
-
-
4
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
5
VBAを何回も作り直して、容量が増えた
Excel(エクセル)
-
6
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
7
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
8
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
9
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
10
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
11
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
Excel VBAで「プログラム実行」...
-
Accessでグローバル変数を宣言...
-
Access2016 VBA ボタンのイベン...
-
VBAのプロシージャー間で、変数の受...
-
Access VBA ラベル印刷開始位置...
-
VBA プロシージャの名前の取得
-
callで順に実行されるプロシー...
-
PL/SQLのエラーについて
-
sp_executesqlを実行してもテー...
-
或るプロシージャの呼び出し元判定
-
excel/vba/public変数
-
イベントプロシージャが動作しない
-
【Excel VBA】 WorksheetやRa...
-
ACCESS マクロをモジュールに変...
-
vbaでブックを開いたときにコン...
-
アクセスのVBについて
-
Statement ignored というエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
VBA プロシージャの名前の取得
-
【Excel VBA】 WorksheetやRa...
-
或るプロシージャの呼び出し元判定
-
Excel VBAで「プログラム実行」...
-
OutlookVBAで作成したマクロに...
-
Accessでグローバル変数を宣言...
-
ACCESS2007インポート時の空白...
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
excel/vba/public変数
-
エクセルVBAが対応できるプログ...
-
Accessのプロシージャ名が勝手...
-
ブックオープン時にテキストボ...
-
ACCESS マクロをモジュールに変...
-
Excel97のVBAで、出てくるPubli...
-
DB2でのストアドプロシージャの...
-
VBAのプロシージャー間で、変数の受...
おすすめ情報