[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『IF関数とVLOOKUPの組み合わせ』(困って)
VBA初心者です。
現在ボタンを作成しそのボタンを押すと設定した初期値に戻るようにVBAを組みたいのです。
Range("C4:E4") = "=VLOOKUP(G6,範囲,3,0)" のようにして単一の関数のみだと大丈夫なのですが、
Range("G16:H16") = "=IF(G6=" ","入力して下さい","VLOOKUP("G6",検索値,3,0))"
関数が少し複雑になると、構文エラーとなってしまいます。
このエラーを解消するにはどうしたらよいかご教示いただけませんでしょうか。
宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:unknown >
が参考になるかもです。 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.