こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル VBAで検索したセルアドレスを、VBA内の式に組み込む方法

こんにちは。大変お世話になっています。
あるエクセルシートの中から対象セルをfindを使って検索しました。

Set td = Range("a2:bd35").Find(ymd)

これで出たセル番地 td のひとつ右のセルに,
別のシートからデータを入れたいのですが、どうしてもうまくいきません。

Range(td.Address).Offset(0, 1).Select = Worksheets("入力").Range("b3")

どのようにしたら良いのでしょうか?

どうぞよろしくお願いします。

投稿日時 - 2007-03-13 10:53:38

QNo.2828743

困ってます

質問者が選んだベストアンサー

td.Offset(0, 1).Value = Worksheets("入力").Range("b3").Value
でよいかと。

投稿日時 - 2007-03-13 11:02:59

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>Range(td.Address).Offset(0, 1).Select

Select したためにエラーになっているのでは?
td もセル情報(Range) ですから、Range(td.Address)とするだけ無駄です。

td.Offset(0, 1) =
td.Offset(0, 1).Value =
などと繋げるだけで良いでしょう。

投稿日時 - 2007-03-13 11:25:13

お礼

できました!うれしいです。
ありがとうございました。

投稿日時 - 2007-03-13 15:52:48

ANo.2

Range(td.Address).Offset(0, 1).Value = Worksheets("入力").Range("b3").Value
または
td.Offset(0, 1).Value = Worksheets("入力").Range("b3").Value
ではどうでしょう。

ただし実際にはFindでHitしない可能性もあるので、
If Not td Is Nothng Then
  td.Offset(0, 1).Value = Worksheets("入力").Range("b3").Value
End If
が良いと思います。

投稿日時 - 2007-03-13 11:06:12

あなたにオススメの質問