[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ』(パシリ)
マクロでVLOOKUpをしたいのですが、数式のコピーはその都度件数が変わるので、どうしたらいいでしょうか?教えてください。
< 使用 Excel:Excel2013、使用 OS:unknown >
関連のレイアウトを具体的に説明すれば、すぐに回答がアップされると思います。 さらに、VLOOKUPより効率の良い方法も提示されるかも。
(β) 2016/10/18(火) 00:07
「データが随時追加され、数式の参照する表のセル範囲が変わる。」ということですよね?
ならば、まずはVBAで、セル範囲を特定する方法を学ぶべきでしょう。
参考URL>>
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_cell.html
「CurrentRegion」が使える状況(または使える状況にする)なら、一番コードが簡単でいいと思います。
(まっつわん) 2016/10/18(火) 08:34
ちょっとテーマとは離れますが、
>>(または使える状況にする)
まっつわんさんから非常に重要な提言がありましたので、雑感として。
まっつわんさんご紹介の記事にもあるように、シート上のセル領域の取得方法は、実に様々な方法があります。 ありすぎて、迷ってしまうぐらいですね。
ただ、これらの、どれを使ってもいいということではなく、シートレイアウトの実態に合わせて「適切な」方法で 取得することが必要ですし、逆にいえば、「適切ではない方法」で記述すると、コード実行としてはエラーにならなくても 自分が意図した、正しい領域の取得ができないことになります。
Q/Aであがってくる質問を見ますと、「データ処理」としては、必ずしも適していないレイアウトのものが少なくなく 対象領域を複雑な記述で【無理やり】取得せざるを得ないことが間々ありますね。
そういったときに、「レイアウトを、こうこう このような形に変更しましょう」と提言しても、現在のレイアウトは触ってはいけないとか 上司が認めないとか・・・・
でも、システム構築で、コードを書くのは最後の最後の作業で、その前に、必要データを、 ・登録・追加・変更・削除が容易な運用しやすいレイアウト ・かつ、処理(関数処理であってもVBA処理であっても)しやすいレイアウト こういったものにする、その「設計」作業がきわめて重要です。
で、領域の指定に話を戻しますと、対象領域を CurrentRegion として指定して【問題なく取得できる】レイアウトが 処理上、極めて有利です。
CurrentRegion って何者なのかは、ネット検索等で調べて理解していただければいいと思いますが 確認方法として、自分が想定している矩形の領域の左上隅のセルを選択して、Ctrl/Shift/* を押したときに 意図した領域が【過不足なく】選択されるかどうか、足りないところがない、余分なところもない。 そうやって目で確認もできます。
(β) 2016/10/18(火) 10:19
別に謝る必要はないと思いますけど、
「また」でいいのですか?
いま、「どうするんだろう?」と思ったのだから、
いま、解決しちゃえばいいと思います。
ただ、具体的な例がないと、アドバイスは難しいと思いますが。。。
(まっつわん) 2016/10/22(土) 13:49
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.