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初心者である為、上記説明が分かりづらいかもしれませんが、
分かる方おりましたら、ご教授の程、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
ダブルコーテーションを表示するときには、もうひとつダブルコーテーションを付けてやります。
「"」を表示するときは、「""」と2つにするということ。
なので、質問の件は、「""""」と4つにすればいいわけです。
.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(Range("A2").Value & "1").Value
または
Cells(1, Range("A2").Value).Value
以上。
できました!ありがとうございます。
Rangeの中にRangeを記述するという発想がありませんでした。
ありがとうございました。
No.2
- 回答日時:
(1)
Sub test01()
Range("A1").Value = "=IF(B1="""","""",C1)"
Range("A2").Formula = "=IF(B1="""","""",C1)"
End Sub
(2)
Sub test02()
x = "C"
MsgBox Worksheets("sheet1").Range(x & "1").Value
End Sub
他にも実質同じにするやり方はあるが。
ダブルコートはダブルコートでくくればよいという事ですね。ありがとうございます。
.valueでも.Formulaでもどちらでも可と言う事ですよね。
迅速な回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Excel(エクセル) マクロを簡潔にしたい 6 2022/09/16 10:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
VBAでExcel関数入力時のシングルクォーテーションについて
Visual Basic(VBA)
-
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
6
vba formulaの中での変数の扱い
Ruby
-
7
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
8
エクセルVBA 数式の中に、変数で定義したシート名を入力するには
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
11
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
12
エクセルでエラーが出て困っています。
Excel(エクセル)
-
13
ダブルコーテーションでアンドをはさむ
Excel(エクセル)
-
14
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
VBAで変数に関数式の結果をセットする場合
Excel(エクセル)
-
17
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
18
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
19
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
20
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
processing エラーで、 "cannot...
-
jsp~jspにhiddenを使って変数...
-
EXCEL/VBA 変数の値をクリップ...
-
[VBS]変数を定数に変換する方法...
-
Variant型で宣言してるのにEmpt...
-
int→unsigned int キャスト
-
python の 連鎖代入の文法
-
JAVAのユーザー定義関数
-
datagridviewに行...
-
VB2008でデリゲートの代わりに...
-
stdpicture型の変数に、、
-
プログラミング【代入演算子】
-
Pythonで辞書内のValueをfor k,...
-
親ウィンドウの情報をインライ...
-
だれがとけるの?
-
レジストリの値獲得について
-
VB.net
-
C言語 列挙型(enum型)変数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
だれがとけるの?
-
C言語 列挙型(enum型)変数について
-
[VBS]変数を定数に変換する方法...
-
jsp~jspにhiddenを使って変数...
-
Variant型で宣言してるのにEmpt...
-
processing エラーで、 "cannot...
-
テキストボックスの値を変数に...
-
整数xxxが大き過ぎますというエ...
-
C言語 アロー演算子について質...
-
i++と++i ってどう違うのですか?
-
数値計算??
-
python の 連鎖代入の文法
-
インクリメント演算子の前置(+...
-
「%」を使って、偶数か奇数かを...
-
【VBA】複合代入演算子
-
VBA 1行で複数の代入を行った...
-
datagridviewに行...
おすすめ情報