Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7487 / 13644 ツリー ←次へ | 前へ→

【38850】vlookup関数の変数 タカ 06/6/12(月) 18:59 質問[未読]
【38852】Re:vlookup関数の変数 Blue 06/6/12(月) 19:45 発言[未読]
【38888】Re:vlookup関数の変数 タカ 06/6/13(火) 18:24 質問[未読]
【38892】Re:vlookup関数の変数 Blue 06/6/13(火) 19:57 回答[未読]
【38900】Re:vlookup関数の変数 タカ 06/6/14(水) 0:17 お礼[未読]

【38850】vlookup関数の変数
質問  タカ  - 06/6/12(月) 18:59 -

引用なし
パスワード
   マクロ超初心者です。このサイトに会えて助かった気分です。
統計数値を毎月表にしようと思ってますが、VLOOKUP関数に変数を入れることに
悩んでいます。申し訳ありませんがどなたか教えていただけないでしょうか。

Dim K As Integer

   Range("A1").Select
  ActiveCell.FormulaR1C1 = "=COUNTA(RC[0]:RC[50])"
  K = ActiveCell.Value

   ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-K],元データー!R2C1:R26C5,4,FALSE)"

宜しくお願いします

【38852】Re:vlookup関数の変数
発言  Blue  - 06/6/12(月) 19:45 -

引用なし
パスワード
   最近似たようなスレがあったので参考にしてみてください。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=38646;id=excel

【38888】Re:vlookup関数の変数
質問  タカ  - 06/6/13(火) 18:24 -

引用なし
パスワード
   ▼Blue さん:
>最近似たようなスレがあったので参考にしてみてください。
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=38646;id=excel


早速のご教授ありがとうございます。
[38647]を参考に CStr 関数で入れてみましたが
実行時エラー 1004
「アプリケーション定義またはオブジェクト定義エラーです」と出てしまいました。
申し訳ありませんが、再度教えてください。

Sub Macro1()
'
Dim i As Integer
i = -3

  Range("D2").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[CStr(i)],'6月'!R2C1:R20C5,4,FALSE)"
End Sub

【38892】Re:vlookup関数の変数
回答  Blue  - 06/6/13(火) 19:57 -

引用なし
パスワード
   過去ログをのせたのは CStr だけをつかえということをいいたいわけではなかったのですが。

CStrよりも
>  文字列の連結は &演算子です。
のほうが重要です。(&演算子を使えばCStr関数使わなくても暗黙的に文字列になる)


>   Range("D2").Select
>  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[CStr(i)],'6月'!R2C1:R20C5,4,FALSE)"
Selectする必要もなく
単に

Range("D2").FormulaR1C1 = "=VLOOKUP(RC[" & CStr(i) & "],'6月'!R2C1:R20C5,4,FALSE)"

でできると思います。

【38900】Re:vlookup関数の変数
お礼  タカ  - 06/6/14(水) 0:17 -

引用なし
パスワード
   ▼Blue さん:
>過去ログをのせたのは CStr だけをつかえということをいいたいわけではなかったのですが。
>
>CStrよりも
>>  文字列の連結は &演算子です。
>のほうが重要です。(&演算子を使えばCStr関数使わなくても暗黙的に文字列になる)
>
>
>>   Range("D2").Select
>>  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[CStr(i)],'6月'!R2C1:R20C5,4,FALSE)"
>Selectする必要もなく
>単に
>
>Range("D2").FormulaR1C1 = "=VLOOKUP(RC[" & CStr(i) & "],'6月'!R2C1:R20C5,4,FALSE)"
>
>でできると思います。

ありがとうございました。
思うように出来ることを確認しました。
&が文字の連結に使用することはわかっていましたが
昔のBASICの感覚で" ”で囲むと中がそのままの文字になると錯覚していました。
重ねて御礼申し上げます

7487 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free