質問: range(dataaddress1).offset(0, -1).value dataaddress1に変更したとたんに、実行時エラー1004 rangeメソッドは失敗しました'globalオブジェルト"というメッセージがでました。 何か、stringでの変数の宣言の仕方に問題があるのでしょうか、ご存知の方教えて下さい、よろしくお願いします。
回答: よく解りませんが 例えばfind結果のrangeを見つけると rangeには、シート情報が入っています。 その後、range.addressの文字情報にすると シート情報が消えます。 その後は、rangeオブジェクトは、アクティブな シートのシート情報で、動作しますので、 その辺の事を考慮して、コードを書いているのでしょうか? コードの全体像が見えないと、はっきりした 回答はないかもしれません。 例えば 以下のコードを実行すると dim ad as string dim data1 as range set data1 = sheet1.range("a1") debug.print data1.worksheet.name ad = data1.address sheet2.activate debug.print range(ad).worksheet.name debug.print data1.worksheet.name userform1.show 実行結果は、 sheet1 sheet2 sheet1 になります。 シート1が、シート2に変化しても、 最初につかんだ、rangeのシート情報は、 シート1のままです。 findでつかんだ、情報には、シート情報が含まれていますよね その辺を考慮すると、上手くいくかもしれません。