• ベストアンサー
  • 困ってます

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

  • 質問No.2526521
  • 閲覧数251
  • ありがとう数1
  • 回答数1

お礼率 80% (430/532)

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にもかけるのでしょうか?
ご指導お願いいたします。

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 39% (7416/18946)

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

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

お礼率 80% (430/532)

ありがとうございました。
わかりにくい質問だったと思いますが、理解していただいた上での的確な質問に感謝いたします。
投稿日時:2006/11/08 21:51
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ