• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELマクロ、ループかけるとマクロが固まる)

EXCELマクロのループでマクロが固まる

このQ&Aのポイント
  • EXCELマクロのループを実行すると、マクロが固まってしまう現象が発生しています。
  • ループ無しの場合は正常に動作しており、ファイルを一つずつ開いてマクロを起動することで対応しています。
  • マクロの内容は、フォントの変更、記号の変換、テキストボックスのグループ化解除などです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.1

> Set myRange = mySheet.UsedRange > For Each cell In myRange > > Cells.Select これはUsedRange分の回数分シートの全てのセルを選択してFontの指定やReplaceを行っていることになると思いますから、UsedRangeが10個あれば10回全てのセルにたいしてその操作行われています。 シートの全てのセルにたいして操作するのではなくcellにしたいのでしたら cell.Select とするか、間違わないように変数にcellを使わないようにした方がいいです。 また、 〇〇.Selectのあとに Selection.△△としなくても 直接 〇〇.△△ にしたほうがいいと思います。 > Set myRange = mySheet.UsedRange > For Each cell In myRange の中に > ActiveSheet.UsedRange.Select > > For Each セル In Selection があると思いますが、同じところを2回ループしているのではないでしょうか。 テキストボックス関連も > Set myRange = mySheet.UsedRange > For Each cell In myRange の外に出さないとUsedRange分同じことを繰り返していると思います。 > myFile = Dir() > Next > Loop は Next myFile = Dir() Loop じゃないでしょうか。

joezen05
質問者

お礼

ありがとうございました。ご指摘箇所を反映してみます!

関連するQ&A

専門家に質問してみよう