- ベストアンサー
エクセルVBA条件一致時の数量加算
- エクセルVBAを使用して、特定の条件に一致した場合に数量を加算する方法を教えてください。
- 質問者は、ユーザーフォームを使用して商品名と金額を入力し、一致する条件の数量を加算したいと考えています。
- 質問者が具体的な例として挙げたのは、りんごの金額が100で数量が2の場合、セルC1の値が3になるようにしたいというものです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一例です Sub Macro1() hinnmei = ユーザーフォームで入力された商品名 kingaku = 同上金額 suuryou = 同上数量 Range("A1").Select Do While Selection.Value <> "" If Selection.Value = hinnmei And Selection.Offset(0, 1).Value = kingaku Then Selection.Offset(0, 2).Value = Selection.Offset(0, 2).Value + suuryou Exit Do End If Selection.Offset(1, 0).Select Loop If Selection.Value = "" Then Selection.Value = hinnmei Selection.Offset(0, 1).Value = kingaku Selection.Offset(0, 2).Value = suuryou End If End Sub 上から順に見ていくだけの簡単な方法です
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
質問の例で りんごの行が2つあるのに >セルC1の数値が3になるようにしたいのです とC1だけ言っているんのは、どういう仕組み(考えるの)か。 その思考過程を文章で説明しないと質問にならない。 ーーー またフォームで「りんご」と入れたときA列のりんごの行の数に加えたり、件数を加えるというのは、エクセルの シートの使い方としては違反です。 エクセルは、入力データはそのごとに一旦各行にデータを残し、そのごや最終入力後に、関数やVBAで思うデータを入れるものだ。 入力経過が残らず、特にビジネスでは、そんなことしたら失格。通行人の人数を、カウンターでプッシュしてカウントするようなつかい方は、エクセルではしない。 りんごのある行を見つけるのさえ、VBAの学習が少し進まないと、そこに至らないだろう。
お礼
ありがとうございました。これからためしてみようと思います。