以下のVBAはどれもまったく同じ答えを返しますが、どのような違いがあるのでしょうか?
違いがないなら一番短い書き方をしようと思います。
よろしくお願いします。
MsgBox Application.WorksheetFunction.Sum(Range("C21:C23"))
MsgBox WorksheetFunction.Sum(Range("C21:C23"))
MsgBox Application.Sum(Range("C21:C23"))
No.1ベストアンサー
- 回答日時:
MsgBox Application.WorksheetFunction.Sum(Range("C21:C23"))
MsgBox WorksheetFunction.Sum(Range("C21:C23"))
MsgBox Application.Sum(Range("C21:C23"))
>ans= Application.WorksheetFunction.Sum(Range("C21:C23"))
>ans= WorksheetFunction.Sum(Range("C21:C23"))
この2つは、基本的には同じですね。これは、97以上の書法です。Application を省略しても、ワークシート関数は使えます。しかし、Sum関数の引数にエラー値があると、両方とも「実行時エラー」になるはずです。VBAで回避するためには、On Error トラップが必要になりますね。
>ans = Application.Sum(Range("C21:C23"))
こちらは、古いVersionの書き方ですが、エラー値そのものが、上記の場合は、ans に返るはずです。ただし、ansは、変数型はVariant 型です。
どちらでも良いと思います。
なお、短くするなら、
ans = Evaluate("Sum(C21:C23)")
という方法もあります。
早速ありがとうございました。
Evaluate("Sum(C21:C23)")という呪文もあるんですね。文字列で入力した式を計算させるんですね!勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
あなたの習慣について教えてください!!
あなたが習慣だと思って実践しているものを共有してくださいませんか? 筋肉トレーニングでも朝シャワーでも、あなたが習慣だなと思えば何でも構いません
-
ApplicationとWorksheetFunctionの違い
Visual Basic(VBA)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
6
VBAで重複データを合算したい
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
数式は残し値をクリアするマク...
-
【マクロ】 IFERROR関数をマク...
-
VBAでfunctionを利用しようとし...
-
フランスの生年月日(jj/mm/aaaa)
-
Excel vbaについての質問
-
WindowsでのPythonの挙動について
-
String""から型'Double'への変...
-
「実行時エラー '3167' レコー...
-
パソコンを起動するとこのよう...
-
HTMLソースが表示のページのも...
-
コンボボックスの特定項目だけ...
-
mailstorehomeのエクスポートで...
-
VBA Find でオートメーションエ...
-
VB 実行時エラー '3001'
-
ACCESSで値を代入できないとは?
-
LaTeXのエラーについて(コンパ...
-
マクロの「SaveAs」でエラーが...
-
ACCESS フォームから開...
-
ExcelのWebクエリでのエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
VBA データ(特定値)のある最...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
On ErrorでエラーNoが0
-
「実行時エラー '3167' レコー...
-
【Access】Excelインポート時に...
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
実行時エラー 438 の解決策をお...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
Filter関数を用いた結果、何も...
-
ApplicationとWorksheetFunctio...
-
エクセルVBAで埋め込みグラフ(C...
-
VBでSQL文のUPDATE構文を使った...
おすすめ情報