• 締切済み

vbaのエラーの認識??

あるベンダーからのリンクをsheet1(a1)に貼っています。 リンクの状態によって戻り値が"#NAME?"になることがあります。 このときにsheet1(a1)の値じゃなくsheet2(a1)の値を使いたい場合、vbaにはどういう風に書いたらよいんでしょうか? 構文エラーとかじゃなく、リンクによるエラーなので、戻り値が"#NAME?"だったらsheet2(a1)を参照ってしたいんです。 教えてください。

みんなの回答

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

>ベンダーからの ベンダーとは何?質問者の場合の事情じゃないの。 >リンクをsheet1(a1)に貼っています 具体的にA1セルにはどうなっているの。 VBAでリンクを張っている。 リンクと言う言葉は参照と言う単純な意味やHyperLinkその他があって もう少し丁寧に。 >戻り値が"#NAME?"になることがあります VBAの質問でありながら、この#NAMEはエクセルの関数エラーではないの?関連は? 自分だけのケースで頭がいっぱいのような気がする。あなたの見て考えているシートは読者にはみえない。他人が読んで判りやすい表現にしてください。

hiroshi_sp
質問者

お礼

抽象的ですみませんでした。 具体例です。 sub t() sheet("sheet1").cells(1,1).value=sheet("sheet2").cells(1,1).value end sub sheet1のa1の数式 =RtGet("IDN","JNIc1","TRDPRC_1") sheet2のa2に 9740 sheet2のb2の数式 =a1+1 たぶんsheet1のa1に数式を入れた時点で"#NAME?"が帰ってくると思います。sub tを走らせた時点で、sheet1のa1の戻り値も"#NAME?"だと思います。もし、戻り値が"#NAME?"だったら、「sheet2のb2の数式 =a1+1」のa1をa2に変えたいというのをsub tの中でどう書いたらよいんでしょうか?? 教えてください。

hiroshi_sp
質問者

補足

たびたびすみません。 sheet("sheet1").cells(1,1).value=sheet("sheet2").cells(1,1).value は、正しくは sheets("sheet1").cells(1,1).value=sheets("sheet2").cells(1,1).value です。

関連するQ&A