Excel VBA質問箱 IV

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

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


8246 / 76732 ←次へ | 前へ→

【74063】Re:4列一致したものを集めて集計
発言  UO3  - 13/4/12(金) 9:53 -

引用なし
パスワード
   ▼nonoka さん:

おはようございます。
まだ、勘違いがあるかもしれません。
コード記述としては、できる限り、【列記号】で書きましたので
列の勘違いがあれば修正願います。
式は、H列にセットしていますが、最初は空白の結果になります。
コード実行後、G列に何か値がはいれば、引き算の結果がH列に表示されます。

Sub 実績計算3()

  Dim dic As Object
  Dim c As Range
  Dim v() As Variant
  Dim z As Long
  Dim key As String
  Dim i As Long
  Dim n As Long
  
  Set dic = CreateObject("Scripting.Dictionary")

  With Sheets("Shipped")
    z = .Range("D" & .Rows.Count).End(xlUp).Row - 9 'データ行数
    ReDim v(1 To z, 1 To 5) '転記用配列。行数は最大可能行数
    For Each c In .Range("D10").Resize(z)
      key = Join(WorksheetFunction.Index(c.Resize(, 4).Value, 1, 0), vbTab)
      If Not dic.exists(key) Then dic(key) = dic.Count + 1 '配列行番号
      i = dic(key)
      v(i, 1) = c.Value
      v(i, 2) = c.Offset(, 1).Value
      v(i, 3) = c.Offset(, 2).Value
      v(i, 4) = c.Offset(, 3).Value
      v(i, 5) = v(i, 5) + c.Offset(, 6).Value
    Next
  End With

  With Sheets("send list")
  
    n = UBound(v, 1)    '行数
    
    .Range("B5").Resize(n, UBound(v, 2)).Value = v
    With .Range("F5").Resize(n).Font
      .ColorIndex = xlAutomatic
      .FontStyle = "標準"
    End With
    
    For Each c In .Range("F5").Resize(dic.Count, UBound(v, 2))
      With c.EntireRow
        If .Range("F1").Value < .Range("E1").Value Then
          .Range("F1").Font.Color = vbRed
          .Range("F1").Font.FontStyle = "太字"
        End If
      End With
    Next
    
    .Range("H5").Resize(dic.Count).Formula = "=IF(G5=0,"""",F5-G5)"
    .Select
    
  End With

End Sub
1 hits

【74041】4列一致したものを集めて集計 nonoka 13/4/9(火) 16:53 質問
【74042】Re:4列一致したものを集めて集計 UO3 13/4/9(火) 17:37 発言
【74043】Re:4列一致したものを集めて集計 UO3 13/4/9(火) 17:40 発言
【74045】Re:4列一致したものを集めて集計 nonoka 13/4/9(火) 18:11 質問
【74046】Re:4列一致したものを集めて集計 nonoka 13/4/9(火) 18:30 質問
【74047】Re:4列一致したものを集めて集計 UO3 13/4/9(火) 19:54 発言
【74048】Re:4列一致したものを集めて集計 nonoka 13/4/9(火) 20:30 回答
【74049】Re:4列一致したものを集めて集計 UO3 13/4/9(火) 21:16 発言
【74056】Re:4列一致したものを集めて集計 nonoka 13/4/11(木) 8:14 回答
【74057】Re:4列一致したものを集めて集計 UO3 13/4/11(木) 10:32 発言
【74062】Re:4列一致したものを集めて集計 nonoka 13/4/12(金) 8:52 回答
【74063】Re:4列一致したものを集めて集計 UO3 13/4/12(金) 9:53 発言
【74084】Re:4列一致したものを集めて集計 nonoka 13/4/17(水) 18:23 お礼
【74050】Re:4列一致したものを集めて集計 UO3 13/4/10(水) 11:16 発言
【74058】Re:4列一致したものを集めて集計 nonoka 13/4/11(木) 14:41 回答
【74061】Re:4列一致したものを集めて集計 UO3 13/4/12(金) 0:03 発言

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