
No.2ベストアンサー
- 回答日時:
こんばんは。
数式をワークシートに入れて値を求めるのは、VBAのよさが出てきません。
なお、必ずしも、FormulaR1C1 と書く必要はありません。FormulaLocal などでよいです。Local の意味は、日本独特の関数を入れる場合に必要なことがあります。
Test2 は、少し、RC[-1] の表現が、ActiveCell.Offset(, -1).Value というのは、本来のVBAの書き方ではありませんが、以下のような方法があります。
本来は、ActiveCell.Offset(, -1).Value の場所は決めたほうがよいです。
Sub Test2()
Dim a As String
a = ActiveCell.Offset(, -1).Address
ActiveCell.Value = Application.Evaluate("SUMIF($A$2:$A$14," & a & ",$D$2:$D$14)")
End Sub
'必ずしも同じではないのですが、以下のような書き方がマクロらしいです。
ただし、不等号や等号は、必要に応じて書き換える必要があります。
Sub Test3()
Dim i As Integer
Dim ret As Double
With Range("A2:A14")
For i = 1 To .Rows.Count
If ActiveCell.Offset(, -1).Value = .Cells(i, 1).Value Then
ret = ret + .Cells(i, 4).Value 'A列に対して、4列目という意味
End If
Next i
End With
ActiveCell.Value = ret
End Sub
No.4
- 回答日時:
こんばんは。
WorksheetFunction.SumIf を使うなら、左辺は、ActiveCell.Value ですね。私は、Evaluate にこだわり、忘れていました。(^^;
Evaluate は、特殊な使い方があります。エラーをはいても、Variant で受けると、それは、エラー値として出力されます。
No.3
- 回答日時:
こんにちは
Application.WorksheetFunction.SumIfという関数がVBAにあります。
以下の例は、アクティブセルにアクティブセルの1列前(Offset(0, -1).Value)
の値を検索値として、検索範囲 A1:A14、集計範囲 B1:B14とする例です。
Sub SumIf_Sample()
ActiveCell.Formula = _
Application.WorksheetFunction.SumIf(Range("A1:A14"), ActiveCell.Offset(0, -1).Value, Range("B1:B14"))
End Sub
ご参考まで
この回答へのお礼
お礼日時:2008/11/15 22:59
初心者な者でそのまま貼り付けさせていただきましたが、
エラー表示になってしまいます。
Application.WorksheetFunction.SumIf関数ですね
勉強してみます。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【画像あり】オートフィルター...
-
他のシートの検索
-
Office2021のエクセルで米国株...
-
vba テキストボックスとリフト...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
エクセルシートの見出しの文字...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ】【画像あり】4つの...
-
Excelで4択問題を作成したい
-
【関数】=EXACT(a1,b1) a1とb1...
-
エクセルの複雑なシフト表から...
-
UNIQUE関数の代用
-
【関数】同じ関数なのに、エラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報