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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- その他(Microsoft Office) IF関数について教えてください 2 2022/05/10 13:31
- 物理学 写真の問題について質問なのですが、解説を見る限りc1とc2の電気量は等しくないように思えます。 しか 4 2023/07/01 21:41
- 工学 CR発振回路 C1=C2=C=0.001【uF】 R1=R2=R3=16【kΩ】 R4は出力電圧が正 2 2023/05/10 19:13
- その他(Microsoft Office) 時間の平均値を計算する方法を教えて。 1 2023/08/06 12:02
- 物理学 この問題における抵抗r1とxってどのように考えれば良いのでしょうか?トルクはT=P2/ωsなのでP2 1 2022/06/19 18:46
- Excel(エクセル) エクセル関数教えてください 3 2022/06/21 10:22
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pdfの表をexcelにはりつけて計...
-
Excelのデーターを消して保存し...
-
exselの質問です
-
Excelの数式について教えてくだ...
-
エクセルの「赤」の印刷がうま...
-
エクセルで特定のセルに入力が...
-
関数の説明
-
[オプション]の[アクセスビリテ...
-
Excelについて
-
エクセル おすすめフォント
-
CSVファイルについて質問です。
-
エクセルの「入力規則」のプル...
-
Excelにいついて質問です。
-
Excelの関数について教えてくだ...
-
一つのセルに(例えばA1)入力...
-
VBAについての質問です
-
エクセルファイルがファイルの...
-
エクセルであるセルに数字を入...
-
Excelでセルの値が同じか...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報