プロが教えるわが家の防犯対策術!

エクセルのVBAで質問です。

現在、アクティブになっているセルに、別のシートにあるセルをリンクさせたいです。

例えば「一覧表」というシートのD4セルを
アクティブになっているセルにリンクをさせたくて
ActiveCell = Worksheets("一覧表").Range(Cells(4, 4)).Value
としたら、構文エラーとなってしまいました。


上記の構文でどのように修正したら無事に貼り付けることができるのでしょうか?

質問者からの補足コメント

  • うれしい

    すみません、構文をもう一度貼り付けたところ転記できました。

    この構文だと、値貼り付けになってしまうため、元の「一覧表」の値を変更した時に、連動して変更してくれる方が良いのですが、このような構文にできますでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/11/04 12:49
  • 確かに、rangeとcellsがダブっておりました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/11/04 12:50

A 回答 (3件)

No1です



>元の「一覧表」の値を変更した時に、連動して変更してくれる方が良いのですが~
No1の回答文にも記した通り、ご提示のコードが「値の転記」のようになっていたので、そのように解釈したものです。
(質問タイトルは「参照させる方法」とはなっていましたが、コードと矛盾していたので‥)

「連動して値が変わる」ようにしたければ、普通に参照式を設定しておけば良いでしょう。
一度、設定しておけば済むことなので、なぜVBAで行う必要があるのかはわかりませんけれど・・・
 ActiveCell.FormulaLocal = "=一覧表!D4"
とか。
    • good
    • 1

RangeとCellsがダブってるんじゃないかと。

)
.Range(4, 4)  か
.Cells(4, 4) ではどうでしょうか。
この回答への補足あり
    • good
    • 0
この回答へのお礼

頂いたコメントを基にもう一度ゆっくり考えてみて

Worksheets("一覧表").Cells(b, 4).Copy
ActiveSheet.Paste Link:=True

としたらいったんは望んだ形となりました。

お礼日時:2021/11/04 13:01

こんにちは



>別のシートにあるセルをリンクさせたいです。
リンクではなくって、値を転記したいってことと解釈しました。

ActiveCell.Value = Worksheets("一覧表").Cells(4, 4).Value

で、転記できませんか?
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
上記公文にしたのですが、オブジェクト定義エラーとなってしまいます。

お礼日時:2021/11/04 12:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!