2016-06-17 20 views
0

私はネット上で同様の質問をしてきましたが、おそらくそれに近いものは見つかりませんでした。ここに私の問題があります:ワークシートの名前を参照して、別のワークシートの有効なセルを参照してください。

私のワークブックにはいくつかのワークシートがあります。 "first"、 "second"などと答えてください。 私はいくつかの行/列を持つ "最初の"テーブルを持っています。各行の最初のセル(左側)には、ワークシートの名前があります。例: セル(2,1).Value = "second":また、A2のCellValueは "second"です。 セル(3,1).Value = "third":また、A3のCellValueは "third"です。

ここで、セル "first" .B2の値は、セルの "2番目の" .P3( "second")の値でなければなりません。私はこの問題についての式は、可能性が信じている: = INDIREKT( " '" & A2 & "'" & "P3!")

完全に正常に動作

。私の問題は、列が「2番目」に挿入されたり削除されたりして、値(P3)が移動するときに始まります。 コードを柔軟にして、自動的にコードを更新できますか?

答えはThanxです。

答えて

0

間接()は使用しないでください。 Cells(2, 1).Value = "second"のようにVBAを使用する場合は、セルP3へのテキスト参照は必要ありません。他のビジネスロジックを使用して、希望の値を保持するセルアドレスに到達できるようにする必要があります。スプレッドシートの構造やVBAの意図についての詳細な情報がなければ、より具体的にすることは困難です。

+0

答えのためのThanx。しかし、いいえ、このケースでは、私がVBAを使用していると言っている部分があっても、私はVBAを使用していません。 –

0

OK。それはいつも同じものですね。私が質問を投稿したのと同じように、自分で解決策を見つけました。しかし興味のある人は:

最も簡単な方法は、セル名を使うことです。 = INDIRECT(「「」& A2 &「」」& 『!TEST』)これは、それが動的または変化に柔軟になり

を:TESTと私のコードは次のようになりますようにこの場合、私はP3に名前を付けます。

関連する問題