Results of 1 - 1 of about 7932 for VLOOKUP (0.002 sec.)
- [[20110518211549]]
- #score: 3345
- @digest: 9ddd728360740ef43b731cdfd1da6f3b
- @id: 54574
- @mdate: 2011-05-18T20:59:49Z
- @size: 3139
- @type: text/plain
- #keywords: ][ (11250), 値答 (7380), ト量 (4795), 在出 (2496), ロ超 (2387), 式部 (2343), vlookup (1772), 索値 (1646), 名個 (1582), フセ (1475), 当部 (1364), 数[ (1036), 行下 (718), ル番 (705), 面白 (698), 番地 (663), オフ (604), a12 (590), 答有 (582), が宜 (549), 成り (546), formular1c1 (545), false (537), 動記 (531), 勝手 (530), 皆様 (493), cells (476), い質 (459), 検索 (438), 数式 (433), 込ま (421), に成 (381)
- 『マクロで張り付けた関数のセル番地が変わってくれない』(KI)
マクロ超初心者なので、ばかばかしい質問になりますが 宜しくお願いします。 下のように、E1:F6 にリストがあります。 そして、A2 を検索値にして VLOOKUP で答えを 求めるために、次のような記述をしました。 Sub test1() Range(Cells(2, 2), Cells(4, 2)) = "=VLOOKUP(A2,$E$1:$F$6,2,FALSE)" End Sub これにより、B2:B4 には、正しくVLOOKUPの数式が書き込まれました。 次に、10行下の A12 の検索値に対応させるために下のような記述をしました。 Sub test2() k = 10 'オフセット量 Range(Cells(2 + k, 2), Cells(4 + k, 2)) = "=VLOOKUP(A2,$E$1:$F$6,2,FALSE)" End Sub ここで質問なのですが、B12 には =VLOOKUP(A2,$E$1:$F$6,2,FALSE) と書き込まれてしまいます。 私の思いは、 =VLOOKUP(A12,$E$1:$F$6,2,FALSE) となって、VLOOKUP の検索値も A2 から A12 へと 勝手に変わってくれるものと考えていました。 K=10 としているので、数式を書き込む行は正しく行われているのに 数式の中の検索値の部分は勝手に変わってくれないのですね。 [A] [B] [C] [D] [E] [F] [1] 検索値 答え 品名 個数 [2] c 3 a 1 [3] a 1 b 2 [4] b 2 c 3 [5] d 4 [6] e 5 [7] [8] [9] [10] [11] [12] e 3 [13] d 1 [14] a 2 このような場合には VLOOKUP の中はどのようにすれば良いのでしょうか? くだらない質問をしているなということは、自分でも感じているのですが 宜しくお願いします。 (KI) ---- B2セルに「=VLOOKUP(A2,$E$1:$F$6,2,FALSE)」の式を入れる動作を マクロの記録にとると、数式部分もコードに成ります。 出来た数式をコピーして、現在出来ているコードの該当部分に貼り付けて使うと ご希望の様に成りそうに思います。 まぁ「A2」の 2 の所にも +k をするのでも良いと思いますが。。。 数式ですが、「""」で囲われているので、文字列です。 なので、思ったようなセル番地になった文字列が出来れば良いです。 "=VLOOKUP(A2,$E$1:$F$6,2,FALSE)" ↓ "=VLOOKUP(A" & 2 & ",$E$1:$F$6,2,FALSE)" ‾‾‾ここを 2+k にすると kが10の時 12 に成ります。 (HANA) ---- 相対アドレスの特徴を使うなら・・・、 Sub rangetest() Dim k As Long k = 10 With Union(Range(Cells(2, 2), Cells(4, 2)), _ Range(Cells(2 + k, 2), Cells(4 + k, 2))) .Formula = "=VLOOKUP(A2,$E$1:$F$6,2,FALSE)" End With End Sub ichinose ---- いろいろな書き方がありますが、こんなのも。 Sub RCtest() Const k = 10 Range("B2:B4").Offset(k, 0).FormulaR1C1 = "=VLOOKUP(RC[-1],R1C5:R6C6,2,FALSE)" End Sub (Mook) ---- 皆様、早速のご回答有難うございます。 どの、やり方も試してみました 。 なるほど! と、感じました。 マクロは自動記録をしたものに ほんの少し手を加える程度のことしか 出来ませんが、この学校で目にとまった 面白そうな方法などを参考に手探りで やっているような状態です。 皆様これからも、宜しくお願いします。 (KI) ...
-
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201105/20110518211549.txt
- [detail]
- similar
PREV
NEXT
Powered by
Hyper Estraier 1.4.13, with 97045 documents and 608224 words.
訪問者: