[[20180509163340]] 『IF関数とVLOOKUPの組み合わせ』(困って) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IF関数とVLOOKUPの組み合わせ』(困って)

VBA初心者です。

現在ボタンを作成しそのボタンを押すと設定した初期値に戻るようにVBAを組みたいのです。

 Range("C4:E4") = "=VLOOKUP(G6,範囲,3,0)"
のようにして単一の関数のみだと大丈夫なのですが、

Range("G16:H16") = "=IF(G6=" ","入力して下さい","VLOOKUP("G6",検索値,3,0))"
関数が少し複雑になると、構文エラーとなってしまいます。

このエラーを解消するにはどうしたらよいかご教示いただけませんでしょうか。

宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:unknown >


http://officetanaka.net/excel/vba/cell/cell03.htm
 が参考になるかもです。
Formulaプロパティ
Value  プロパティ
も勉強されると良いかと思います。

(隠居じーさん) 2018/05/09(水) 17:02


 間違っていましたら、すみません ^^

 Range("G16:H16").Formula = "=IF(G6="""",""入力して下さい"",VLOOKUP(G6,検索値,3,0))"

 で、どうでしょうか。
(隠居じーさん) 2018/05/09(水) 17:23

書いてる間に、内容かぶってしまいましたが、そのまま

たぶんですけど
数式の一部として(文字として)扱って欲しい「"」が、文字列を意味する特殊記号と認識されちゃってるんじゃないでしょうか

↓を実行してみて、望む文字列(数式)がイミディエイトに表示されるか確認してみてください。

    Sub test1()
        Debug.Print "=IF(G6="""",入力して下さい,VLOOKUP(G6,検索値,3,0))"
    End Sub

これで、望む文字列(数式)になっているのであれば、ご自身のコードを修正してください。

ちなみに、今回のようにダブルコーテーション自体を文字列として与えたい場合は、こちらが参考になると思います。
[参考]http://officetanaka.net/excel/vba/tips/tips90.htm

また、質問とは関係ないですし趣味のレベルですが、数式をセットするのに(プロパティを省略して)「.Value」を使ってますけど、「.Formula」を使用した方がかっこよく見えると思います。
[参考]http://officetanaka.net/excel/vba/cell/cell03.htm

(もこな2) 2018/05/09(水) 17:27


早速ありがとうございます。

参考リンクまで大変助かります^^
明日試してみて、また何かありましたら質問させていただきます。

(困って) 2018/05/09(水) 18:25


見返してみたら、隠居じーさんさんと内容がモロかぶりな上に、「入力して下さい」をダブルクォーテーションで囲み忘れてますね・・・
すみませんが、私の回答は無視して隠居じーさんさんの方を参考にしてください。

(もこな2) 2018/05/09(水) 18:55


大変たすかりました。

無事、成功しました。
初心者の私にご親切にご回答いただきありがとうございました^^

もっと勉強いたします。

(困って) 2018/05/10(木) 11:47


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.