VBAでダブルコーテーション入りの数式をセルにセットしたい
VBAにて下記質問があります。
複数の質問を連続して投稿するのもどうかと思い、
不慣れなもので、1投稿で2種類の質問を記載いたしましたが、
迷惑等になるのであれば、削除後複数投稿にて再度投稿したいと思いますので、遠慮なくご指摘下さい。
さて、本文ですが、
1.VBAにてExcelのあるセルに数式をセットしたいのですが、数式内にダブルコーテーションがある為、上手くセットできません。
2.VBAでRange関数のパラメータを可変にしたい。
1について、
セットしたい数式
=IF(ISERROR(VLOOKUP(H23,ini!B36:D401,3))=TRUE,"",IF(VLOOKUP(H23,ini!B36:D401,3)=0,"",VLOOKUP(H23,ini!B36:D401,3)))
セットしたいセルをH44とした場合、単純に
.Range("H44").Value = "=IF(ISERROR(VLOOKUP(H23,ini!B36:D401,3))=TRUE,"",IF(VLOOKUP(H23,ini!B36:D401,3)=0,"",VLOOKUP(H23,ini!B36:D401,3)))"
このように書いてエラーになってしまいます。
ダブルコーテーションがあるので当然だとは思うのですが、
回避の仕方がわかりません。
また、2についてですが、
「ワークシートに書かれた値をRangeのパラメータとして代入したい。」
仮にSheet1のA2のセルにA~Fまでのいづれかの値が入るものとする。
Range関数の列の指定はA2の値を参照し、代入したい。
A2の値:C
worksheets("sheet1").Range("〇1”).Value
〇にCが入るようにしたい。
当然、A2がFになったらFが代入されるようにしたい。
色々検索し、調べてみたのですが上手く見つけられませんでした。
VBA初心者である為、上記説明が分かりづらいかもしれませんが、
分かる方おりましたら、ご教授の程、よろしくお願い致します。