- ベストアンサー
エクセルVBA パソコン変更で動作不能
- エクセルVBAを使用してパソコンの変更に伴う動作不能の問題を解決する方法について教えてください。
- パソコンの変更によりエクセルVBAが動作しなくなった場合、商品コードの作成を行うVBAコードを修正することで問題を解決できます。
- VBAによる商品コードの作成がうまくいかない原因として、色コードのセル範囲の指定が正しく行われていない可能性があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
プログラムコードを見る限り、動作上の問題はないように見えます。 となると、動作しないという点はプログラム以外が原因とみる必要があります。 まず、VBマクロの実行は確実に行われている。かの確認が必要となります。 Windowsアップデートの関係でVistaにおいてVBマクロが動作不可になっている可能性があります。また、PCが変わっていることが原因として考えられるものは、VBマクロの作成場所というのも考えられます。 そのため、VBマクロ内において要素要素でブレークポイントをおいて動作確認をしてください。 ブレークポイントを置いても反応することがなく終了してしまう場合は、マクロが実行されていません。 実際、VBはコード以外にも確認をしてみないとわからないので詳細回答はできないのですが、要素を一つずつ潰しながら調べるのがいいと思います。
その他の回答 (3)
- dogs_cats
- ベストアンサー率38% (278/717)
Application.ScreenUpdating = False Application.ScreenUpdating = true 上記をコメントにして一時作動中止 next i の前にブレークポイントを挿入して結果を見れば判明するのでは? i=0でも指定セルには必ず数値が入力されるのであればその数値と数式で検証出来ますよね。変数や数式の結果は下記3つの方法で確認出来ますね。 Debug.Print ウィッチ式 変数にカーソルを合わせると結果を表示 セルに計算結果を直接入力していますが、変数に格納してデバックすると結果確認が容易になります。 sheet1を表示させてVBAを実行させないと変数及び配列データの取得が出来ないと思います。 冒頭にSheets("sheet2").Select又はactivateでsheet1をアクティブにした方が良いのではないでしょうか。 私はselect、activeは画面切り替えが発生する可能性があるので、withステートメントの方を使用することの方が多いのですが。 結果が何も出ないのであれば、変数の取得が出来ていない可能性があるのではないでしょうか。 デバック方法 http://www.excel-excel.com/vbachair/step1-7.html
お礼
回答ありがとうございます。デバッグにより調べてみました。 結果が何も出ないので、変数の取得が出来ていない可能性があると思われます。
- kichi8000
- ベストアンサー率41% (660/1584)
Sheet2の書式や文字色に何か設定はされていませんか。 見えないだけということはありませんか。
お礼
回答ありがとうございます。 Sheet2には特に書式や文字色の設定はしていません。
- tanakanono
- ベストアンサー率24% (134/553)
どこまでできているかステップでチェックしていけばよいのでは? ASide = Range("A3:A6") ASideに値は入っているか? Application.ScreenUpdating = Falseをやめて、 .Cells(i + 1, 3) = ASide(aa, 1) & BSide(bb, 1) & CSide(cc, 1) & DSide(dd, 1) & ESideが実行されて値が入っているか、、、
お礼
回答ありがとうございます。 ご指示どおりステップチェックしてみたところASideに値が入っていませんでした。 そうなってしまう原因を探そうと思います。
お礼
回答ありがとうございます。ポイントは「Windowsアップデートの関係でVistaにおいてVBマクロが動作不可になっている可能性があります。」の箇所でした。今回の不具合は、Excelの互換性の問題だったようです。 『Word/Excel/PowerPoint 用 Microsoft Office 互換機能パック』をダウンロードすることで解決できました。ありがとうございました。