• 締切済み

ExcelVBA 論理エラーについてお願いします

単純な質問で申し訳ありません。 VBAのコード表示画面より、サブプロシージャの実行すると問題なく動作しますが、マクロボタン(自分で作成したオブジェクトにマクロ登録したものでユーザーフォームではない)から実行すると正しく動作しません。 標準モジュールに、2つのbookからセルを参照するプログラムを書いています。 コピーペーストして、Vlookup関数で照合です。 単純なミスでしょうか! 何度トライしても、ボタンからだと論理エラー(値を得られずに空欄)でVlookupが成功しません。 今はコード表示が書けませんが回答をいただくのに必要でしょうか? よろしくお願いします。

みんなの回答

回答No.1

コードなど具体的な物がないなら、もちろん印象と憶測でしか回答できません。 で、私の印象です。 ボタンはシートに貼り付けてあるんでしょうか。 マクロを直接実行実行したときはうまく動き、ボタンから実行するとダメだとのことですので、ボタンが付いているシートがアクティブではうまく動かないコードになっているのではないか、という気がします。 マクロを直接実行したときはボタンがあるのとは別のブック・シートがアクティブになっていませんでした? 最初の操作対象(コードがないのでどれとは示せませんが、たとえばコピー元のシートとか)をアクティブ化する命令をコードの最初に追加したらうまく動くのかも。 たとえば Workbook("Book1.xls").Worksheet("Sheet1").Activate など。

tnb24344
質問者

お礼

ありがとうございます。 早速試しましたが、解決されませんでした。 再考してまたトライして報告させていただきます。 大変迅速かつ丁寧にありがとうございました。

関連するQ&A