Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


38162 / 76732 ←次へ | 前へ→

【43713】Re:やっかいな集計
お礼  やっかい者  - 06/10/23(月) 15:05 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>在庫ロットNo. 在庫数量
>>07.02.10-1     150
>>をどのように計算するのか教えていただけませんか?
>>入庫数量は、530
>>出庫数量の合計は、120+380
>>でこれらを差し引くと、30になるのかなぁと思ったのですが・・・
>
>上記については、30が正しいのであれば、以下のような感じのコードでできると思います。
>
>Sub Macro1()
> Dim vntData As Variant
> Dim i As Long, j As Long
> Dim swap As String
>  
> '入庫ロットNo.を配列データに取得
> vntData = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value
>  
> '配列データ内を並べ替え
> For i = 1 To UBound(vntData, 1)
>  For j = UBound(vntData, 1) To i Step -1
>   If vntData(i, 1) > vntData(j, 1) Then
>    swap = vntData(i, 1)
>    vntData(i, 1) = vntData(j, 1)
>    vntData(j, 1) = swap
>   End If
>  Next
> Next
>
> '配列データを出力して、在庫計算
> With Range("E2").Resize(UBound(vntData, 1))
>  .Value = vntData
>  '在庫計算(入庫数量の合計−出庫数量の合計)
>  .Offset(, 1).Formula = "=SUMIF(A:A,E2,B:B)-SUMIF(C:C,E2,D:D)"
>  '計算結果を値にする
>  .Offset(, 1).Value = .Offset(, 1).Value
> End With
>End Sub
>
>結局整理すると、並べ替えと、SUMIF数式だけでできてしまいました(^^;
有難うございました。SUMIFを使うのですね。
ご親切に、解釈まで入れていただき、本当に感謝です。厚くお礼申し上げます。

1 hits

【43694】やっかいな集計 やっかい者 06/10/23(月) 11:23 質問
【43699】Re:やっかいな集計 Jaka 06/10/23(月) 12:17 発言
【43700】Re:やっかいな集計 かみちゃん 06/10/23(月) 12:18 発言
【43705】Re:やっかいな集計 やっかい者 06/10/23(月) 13:29 質問
【43706】Re:やっかいな集計 かみちゃん 06/10/23(月) 13:43 発言
【43707】Re:やっかいな集計 やっかい者 06/10/23(月) 13:52 質問
【43709】Re:やっかいな集計 かみちゃん 06/10/23(月) 14:04 発言
【43710】Re:やっかいな集計 かみちゃん 06/10/23(月) 14:29 発言
【43713】Re:やっかいな集計 やっかい者 06/10/23(月) 15:05 お礼
【43711】Re:やっかいな集計 やっかい者 06/10/23(月) 14:43 質問
【43712】Re:やっかいな集計 かみちゃん 06/10/23(月) 14:48 発言

38162 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free