質問: コピー作業を繰り返しするマクロを教えてください。 excelマクロ素人です。 生徒の時間割を、ほかのセルにコピーするマクロを作っているのですが、45人分の時間割をコピーするマクロを作ると、「プロシージャが大きすぎます」とエラーが出ます。調べると分割作業を入れないといけないみたいですが、その前に、a1のセルに文字が入っていたら、次のセル(b2)に飛ぶマクロを入れているので、分割してしまうと、マクロが正しく実行されません。どうしたら、よろしいでしょうか?
回答: こんばんは ご提示の添付画像は読めませんし、具体的にどのような処理をなさりたいのかまったくわかりませんけれど・・・ まず、画像でご提示のマクロが全てであるのなら >「プロシージャが大きすぎます」とエラーが出ます。 とは、とても思えませんけれど・・・ 想像するところ、何らかの規則性がある処理を繰り返しているものと思います。 1回分の処理を一般化した形にしておいて、それを人数分繰り返すような処理にすれば(多分)短縮できるのではないでしょうか。 上記の方法だと全体を見直すことになってしまうかも知れませんので、別法としては、 >a1のセルに文字が入っていたら、次のセル(b2)に飛ぶマクロを入れているので その部分を別処理にして、必要になる都度呼び出すようにしておくなど・・・ call 別処理の名前 のような形で何度でも処理を呼び出すことも可能です。 (いわゆるサブルーチンという概念) ※ 内容が不明なので、回答になっているのかいないのかすらわかりませんけれど・・・