• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 外部データのプロパティで)

エクセル 外部データのプロパティで

このQ&Aのポイント
  • エクセルでインターネットからデータを取り込んでいるとマクロが遅くなる問題が発生しています。問題の原因の一つとして、名前の定義にExternalDateが多数存在していることが考えられます。
  • マクロを実行するたびに名前の連番が増えてしまい、1個ずつ削除するのは困難です。一度に削除するマクロの作成方法や、連番でない名前の記述方法について教えてください。
  • エクセルでインターネットからデータをエクスポートしている際にマクロの実行が遅くなる問題が発生しています。名前の定義にExternalDateが多数存在していることが問題の一つです。マクロで一気に削除する方法や、連番でない名前の付け方について教えてください。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

Web検索でヒットしました。参考になると思います。 エクセルのVBAでフリーズ状態になっちゃう! http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=53033;id=excel 必要な定義名があるようなら、クエリ定義名をLikeに掛けてIF文で分岐処理すれば良いとおもいます。

seasea22
質問者

お礼

ありがとうございます。 まさにほとんど同じ症状が書かれてました。 これを参考にして対処してみます。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

ANo.1で、リンク先に飛ばないようなのでURLを分割して貼っておきます。 http://www .vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=53033;id=excel

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

相当特殊な問題で、回答が出にくいのではないですか。 そのソフトの経験者で、エクセルVBAに詳しい人で、この質問コーナー(エクセルのカテ)を見ているかとなると(最後の条件が一番問題)居ないのではないかな。 私は答える資格は無いと思うが、VBAについて、 名前定義についてやってみると、すべて削除してもよいなら Sub test01() Dim nm MsgBox ActiveWorkbook.Names.Count For Each nm In ActiveWorkbook.Names Range(nm).Select MsgBox nm MsgBox nm.Name nm.Delete Next End Sub で出来るようです。 初めnm.Deleteをコメント化して、状況を掴む(該当が多いようだから、途中でプログラム中断)。 必要シートだけ別ブックにコピーしてそちらで行う。 必要な名前は削除されないように、nm.Nameを判別して、先頭からの 名前文字がExternalDate_かどうかIF文で判別するコードを上記に入れる If Left(nm.Name, 13) = "ExternalDate_" Then nm.Delete End If などにする など慎重に行ってください。責任は持てませんが。 ExternalDate_だけでも、全部削除すると動かなくなる恐れは多い。 ーー >連番で名前が付かない記述方法がありましたら教えてください こんなの質問者が使っている一般でないソフトの、プログラムの組み方の問題で、第3者が触れない野では。ソフト作成者がそういうユーザー選択を初めから目論んでいるか、リセット方法を備えていないとどうにもならない。 前半・後半内容ともこのコーナーにする質問として、無理な質問だと思う。 もし適正な答えが出れば、本当にラッキー。

seasea22
質問者

お礼

おっしゃる通り、ラッキーでした。 どうもありがとうございました。

関連するQ&A

専門家に質問してみよう