
エクセルVBA初心者です。
test1 = .Range("H28") * .Range("H31") * .Range("H32") * .Range("H33") * .Range("H34") * .Range("H35") * .Range("H35")
と置いているのですが
例えば、H31が空欄の場合もあります。
そうしますと、乗算の結果が0になってしまうので、空欄を無視して答えを出したいです。
エクセルではPRODUCT関数を使っていたのですが
VBAですと、どのように記述してよいのか分かりませんでした。
アドバイスをいただけると幸いです。
No.2ベストアンサー
- 回答日時:
WorksheetFunction プロパティを利用して、VBA上でPRODUCT関数を動作させると良いと思います。
test1 = WorksheetFunction.Product(.Range("H28"), .Range("H31:H35"), .Range("H35"))
【参考URL】
よねさんのWordとExcelの小部屋 > Excel VBA入門 > 17.ワークシート関数を利用する > ワークシート関数を利用する(WorksheetFunction)
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
うまくできました!
ありがとうございます。
参考URLが、VBA初心者の私には他にも役立つ内容が
色々とありましたので
ベストアンサーとさせていただきました。
これからも少しずつ勉強していきたいと思います。
No.1
- 回答日時:
こんばんは!
質問のセル範囲の最後部分
>* .Range("H35") * .Range("H35")
は
>* .Range("H35") * .Range("H36")
だとして・・・
色々やり方はあると思いますが、VBAでもそのままPRODUCT関数が使用できますので、
Sub Sample1()
Dim myRange As Range
Set myRange = Union(Range("H28"), Range("H31:H36"))
MsgBox WorksheetFunction.Product(myRange)
End Sub
※ メッセージボックスに表示させているだけです。
みたいな感じではどうでしょうか?m(_ _)m
早々のご回答ありがとうございます!
ご指摘の通り* .Range("H35") * .Range("H36")が正解です。お恥ずかしい記述ミスをしてしまいました(苦笑)
うまくできました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) このコードに追記事項の仕方を教えて下さい。 以下のコード内容に出てくる。セルH3が空白の場合、エラー 4 2023/08/03 00:22
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) 空白のセルを変更しようとした時(アクティブセル)に インプットボックスを5回出す インプットボックス 1 2023/03/14 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでURL挿入後、名前を変...
-
エクセルにて、取引先に仕入値...
-
EXCELのデータ修正時に、...
-
列幅が変更できなくなった
-
EXCELで千円単位を百万円単位に
-
エクセルで入力のあるセルのみ...
-
異なる締め日に対応して支払日...
-
エクセルでの順位に応じた点数...
-
1行名簿の複数行化について悩...
-
Mac版Excelの列移動?について
-
エクセル関数使用で赤色数字を...
-
【エクセルVBA】空欄を無視して...
-
小さな会社の事務全般の社員。...
-
A4シール紙を手差し印刷できる...
-
だれ?
-
英語の名刺で、長い部署名の表...
-
営業目的の人に名刺を求められ...
-
T/Tの種類と送金依頼書の作り方
-
印刷データ塗り足しを英語圏の...
-
置くだけwifi
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでURL挿入後、名前を変...
-
エクセルで入力のあるセルのみ...
-
EXCELのデータ修正時に、...
-
列幅が変更できなくなった
-
エクセル関数使用で赤色数字を...
-
エクセルで逆さまに印刷したい
-
EXCELで千円単位を百万円単位に
-
勤務表で勤務時間が入力されて...
-
エクセルでの順位に応じた点数...
-
画像(GIF/JPEG Image)をエ...
-
エクセルで1分あたりの作業量...
-
異なる締め日に対応して支払日...
-
表に日付と担当者を入力すると...
-
カレンダー作成 別シートより...
-
エクセルのマクロについて(同じ...
-
エクセルで部屋番号や個人情報...
-
エクセルの計算式を教えてくだ...
-
3つの条件のうち、2つを満た...
-
Mac版Excelの列移動?について
-
一つのセルに計算式を入れて別...
おすすめ情報