次の方法で共有

2002(office XP EXCEL)で作成した、マクロが2010上で、途中で停止する。

Anonymous
2011-04-16T13:57:58+00:00

単なる、コピーとペーストの繰り返しのマクロが、2010上では、途中で停止します。

マクロのアルゴリズムは、「A列のセルの内容が、B列の中に無い場合、C列に記入する。」マクロです。

特に、難しい動作はさせていません。マクロ作成は、Office XPで作成し、XP ・ 2007 とも正常に動作しました。

2010 で動作させると、全体の仕事量の0.1%ほど(毎回同じ行で)で「応答なし」と表示され、停止します。

OSは、Win7 64bit です。メモリは8GB を載せてありますので、メモリ不足は考えられませんが、画面上では、砂時計です。

エラーが表示されないので、マクロを修正しようにもできません。

考えられる修正点を教えて下さい。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-04-21T01:54:59+00:00

OSのセーフモードでもExcelが起動しないと言うのは考えられません。

>追検証ができるコードとは、どういったコードでしょうか?

問題が起こっているブックやらコードを丸ごと提示するというのは当事者としても問題が多いでしょうし、チェックする側としても膨大なものを出されても誰も見てくれないことになります。

ですから、不可解な事象が発生した場合、プログラムとかブックの関係ない部分を切り落として、プログラムなら十数行程度で問題となる事象が発生するサンプルを作って提示して欲しいということです。

VBA関係の質問を見ていただければ随所にそのような例があります。

例えば

http://answers.microsoft.com/ja-jp/office/forum/office_2010-excel/excel2007%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%83%9E%E3%82%AF%E3%83%AD%E3%82%92excel2010%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A8%E5%87%A6%E7%90%86%E3%81%8C%E7%B5%82%E3%82%8F%E3%82%89%E3%81%AA%E3%81%84/38696976-9965-e011-8dfc-68b599b31bf5

目的は

1.一般的に起こる事象か、質問者さんの環境特有の問題化の切り分け

2.場合によっては単なるプログラムミスが一見して発見できる

等です。

ただ、OSのセーフモードでExcelが起動できないというのでしたら、マクロが上手く動くとか動かないとかの話ではなく、Excelが基本的に壊れている(最低Office全体の再インストール)、OSの不具合(OSとしての不具合追求かOS丸ごとの再インストール)といった話にもなりねません。

一般に質問者さんはご自分の所で発生したトラブルが普通に起こる話であり当然誰かが知っているはずという発想で投稿されることが多いのですが、漠然とした質問で症状と原因がピンと来るようなものは質問投稿の極一部にすぎません。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-04-17T09:04:58+00:00

Pictureオブジェクトの処理など少々例外的な処理で2007以降でうまく動かなかった例は経験しておりますが、普通のコードは2002作成のコードは2010でも問題なく動くはずです。

書かれておられる内容が今一つ理解できないのですが、何回もやっているうちに異常が発生するのか、始めると必ず異常が起こるのかどちらでしょうか?

また、必ず発生するとしたら、追検証できるような短いコードは提示できるのでしょうか?

すぐできる簡単な対応としては、そのブックを一度2010で開いて、2007以降形式(拡張子xlsm)で保存して動きを確認するというのがあります。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

8 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-04-19T19:47:49+00:00

    セーフモードでは、エクセルさえ起動できませんでした。なお、エクセルはプレインストールされたものです。エクセル2002で作成された、他のマクロは、作動しました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2011-04-19T11:10:48+00:00

    申し上げているのは一般的に発生する現象ではないということです。

    ですから、こういうものは追検証できるコードがないと、回答者は答えようがありません。

    Activave、Selectを避けろと言うのはコードが分かり難くなりまぎれが起こる原因になると言う意味であり、ちゃんと動くものは動きます。

    後、一般論として考えられるのはExcelの不具合です。(インストールの失敗とか・・・・(正常終了している場合もあり得ます)、異常終了した時にレジストリなどに傷が残るなどです)

    Excel 起動時の問題のトラブルシューティング方法

    http://support.microsoft.com/kb/280504/ja

    セーフモードで起動したExcelでも症状がでるかどうか確認してみてください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2011-04-19T10:38:30+00:00

    y sakuda さん 御回答有難う御座います。

    2010形式(拡張子xlsm)で保存は試してみましたが、必ず止まり、止まった時は、起動中の他のアプリも、止まりますので、タスクマネージャーで停止させています。

     pictureオブジェクトは、使っていません。

    他の質問の回答の中で、select 、activate の多用は控えること。と書かれていましたが、特に多用はしていません。

     ループ中の行を指定する変数 i は Long に宣言してありますが、代入値は エクセル2002の行の最大値 65536 を代入してあるので問題は無いと思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません