Excel VBA質問箱 IV

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

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


38171 / 76738 ←次へ | 前へ→

【43710】Re:やっかいな集計
発言  かみちゃん  - 06/10/23(月) 14:29 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>在庫ロット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数式だけでできてしまいました(^^;

0 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 発言

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