• ベストアンサー

CONTIFをマクロで

Sub testtesttest() Range("C87:G87").Formula = "=COUNTA(C5:C82)-4" End Sub と同じように、自動で数式をコピーさせたいのですが、下記 =COUNTIF(D5:D82,"お茶*") をマクロに直すとどのように表現すればよいのでしょうか。 どなたかアドバイスをお願いします。

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

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

これでどうでしょうか? Sub test()  Range("C87:G87").Formula = "=COUNTIF(D5:D82,""お茶*"")" End Sub

das101
質問者

お礼

ありがとうございます。 アドバイスいただいたもので、動作しました!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

例データA1:A6 御茶ノ水 茶の湯 お茶場は不足 お茶の葉 御礼茶会 朝のお茶だし ーーー Sub test01() '=COUNTIF(D5:D82,"お茶*") c = Application.WorksheetFunction.CountIf(Range("A1:A6"), "お茶*") MsgBox c End Sub ーー 結果 2 "*お茶*"にすると 結果 3 >と同じように、自動で数式をコピーさせたいのですが 質問の式を複写すると、式で指定している範囲がずれていくが、 そんなニーズが納得いかない。 どういうことをしたいのか、エクセルワークシート関数を離れて 、文章で表現してみてください。

das101
質問者

お礼

アドバイスありがとうございました!

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

#1のka_na_deです。 詳しく説明されたページをみつけたので紹介します。 ■計算式内の""(ダブルコーテーション) の部分を一読ください。 http://officetanaka.net/excel/vba/cell/cell03.htm

das101
質問者

お礼

なるほど、""(ダブルコーテーション)の問題だったのですね。参考になりました。ありがとうございました。

関連するQ&A