|
▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>在庫ロット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を使うのですね。
ご親切に、解釈まで入れていただき、本当に感謝です。厚くお礼申し上げます。
|
|