VBAで変数に関数式の結果をセットする場合の記述でご教示ください。
使用する関数としては
=IF(CountIf("A:A", "E5"), "×", "○")
これをVBAで変数にセットする場合
Judge_1 = Application.IF(CountIf("A:A", "E5"), "×", "○")
として記述していますが、CouiIfの箇所でコンパイルエラーが出ます。
【Sub または Functionが定義されていません。】
IFとCountIfの2つの関数があるのが原因かな?とも思いますが、
このような場合の正しい記載方法はどのようにするのでしょうか?
No.1ベストアンサー
- 回答日時:
WorksheetFunctionと言いますが,どんな関数でもあるワケじゃありません。
たとえばワークシート関数のIFはありません。オブジェクトブラウザでWorksheetFunctionを調べ,そこに並んでいるヤツが使えます。
またCountifはありますがこんな具合に使います。
Judge_1 = iif(application.worksheetfunction.countif(worksheets("シート名").range("A:A"), worksheets("シート名").range("E5"))>0, "×", "○")
#思いつきでテキトーやっても時間の無駄ですから,一渡りの参考資料は見るようにしましょう。通常はVBAのヘルプだけで70%ぐらいの事は調べが付きます。
No.2
- 回答日時:
(1)VBAで使える関数:IFはエクセル関数にもちろんありますが、VBAのIFステートメントにあります。
こちらを使えば仕舞いの話で、VBAではApplicationをIFにつけてもIFの役割をさせるのは、ダメではないかな。式をセルに埋め込むのなら使えると思うが、結果はセルの値としてセットされるので、それを改めてみないといけない。
(2)使い方:それとエクセルと同形の関数を使うとき、セル範囲はRangeをつけないとだめだったりするから、慎重に勉強のこと。
例
Sub test01()
MsgBox Application.CountIf(Range("A1:A10"), "a")
End Sub
ーー
Sub test02()
If Application.CountIf(Range("A1:A10"), "a") > 0 Then
MsgBox "aのセル有り"
Else
MsgBox "aのセルなし"
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
自分独自の健康法はある?
こうしていると調子がいい!みたいな自分独自の健康法、こだわりはありますか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
VBA 数式ではなく計算結果をセルに入れたい
Excel(エクセル)
-
VBAでダブルコーテーション入りの数式をセルにセットしたい
Visual Basic(VBA)
-
-
4
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
7
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
8
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
9
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
10
VBAにて計算式をセルへ代入できなくて困っています
Visual Basic(VBA)
-
11
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
12
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
13
VBAでEmpty値って何ですか?
Excel(エクセル)
-
14
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
15
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
16
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
17
EXCELのVBA-フィルタ抽出後のセル選択方法
Visual Basic(VBA)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
20
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
別シートのセルを絶対参照にする
-
エクセルで1月0日と表示される!!
-
エクセルで条件に一致したセル...
-
日付が未入力の際はゼロか、空...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
エクセルで、加筆修正したセル...
-
エクセルで別シートからの最大...
-
Rangeメソッドは失敗しました。...
-
INDIRECT(空白や()がある文字列...
-
エクセルで複写のように自動入...
-
エクセルで指定のセルのみ完全...
-
(Excel)あるセルに文字を入力...
-
エクセルのルビがついたセルを...
-
VBAで変数に関数式の結果をセッ...
-
VBAで、セル(Range)のオブジ...
-
ExcelでTODAY関数を更新させな...
-
Excelのファイル容量が減らない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
別シートのセルを絶対参照にする
-
エクセルで条件に一致したセル...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
Rangeメソッドは失敗しました。...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
シート参照で変数を使いたい(EX...
-
ExcelでTODAY関数を更新させな...
-
Excelでスクロールすると文字が...
-
エクセルで複写のように自動入...
-
エクセルの文字
-
エクセルで指定のセルのみ完全...
-
Excelのファイル容量が減らない...
-
マクロ 新しいシートにデータ...
-
エクセルで、加筆修正したセル...
-
VBAで、セル(Range)のオブジ...
-
エクセルのマクロで全シートを...
おすすめ情報