こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBA(マクロ)の書き方で・・・

VBA初心者です。よろしくお願いします。
エクセルマクロで、次のような関数を入力して、
=IF(月!$D4=稼動シート!$B$2,月!B4,"◆")

自動記録をさせると
コードは、次のような「絶対参照セル」(←表現あっていますか?)の表示になります。
『Range("C4").Select
ActiveCell.FormulaR1C1 = "=IF(月!RC4=稼動シート!R2C2,月!RC[-1],""◆"")"』
わたしのスキルでは、この記述コードを参考に別のコードを書こうにも理解と応用が効きません。
そこで、VBAコードにも
『Range("C4").Select
 =IF(月!$D4=稼動シート!$B$2,月!B4,"◆")』
と単純に書いてはいけないのでしょうか?また、どうすれば実際のシートで入力した関数と同じような表現でVBAにもかけるのでしょうか?
ご指導お願いいたします。

投稿日時 - 2006-11-08 21:08:42

QNo.2526521

困ってます

質問者が選んだベストアンサー

Range("C4").Formula = "=IF(月!$D4=稼動シート!$B$2,月!B4,""◆"")"

そのままで1行で記載するならこうなります。
Selectは直接設定にすることで省略可
Formulaは式をセットする為省略不可
数式自体を""で囲むのも値でなく、式をセットするのに省略できません。
◆の前後の""は文字列内にて"を意味する設定なので省略できません。

投稿日時 - 2006-11-08 21:29:54

お礼

ありがとうございました。
わかりにくい質問だったと思いますが、理解していただいた上での的確な質問に感謝いたします。

投稿日時 - 2006-11-08 21:51:52

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問