Excel VBA質問箱 IV

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

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


13541 / 76738 ←次へ | 前へ→

【68700】Re:A〜D列が同じ値ならE列合計
回答  UO3  - 11/4/7(木) 17:09 -

引用なし
パスワード
   ▼希椛(ののか) さん:

こんにちは

質問内でお使いの「統合」、まさにエクセル機能の「統合」を使えば
(別のシートになりますが)お望みの統合結果が得られます。
作業的には、「区切り位置」等も併用し、いささかめんどうですが、
これをVBAコードにすることもできます。

以下は、「そうではない」方法での統合です。
セルに直接書き込んでいますので、処理効率が悪ければ、もう少し工夫もできます。

Sub Sample()
  Dim dic As Object
  Dim c As Range
  Dim myKey As Variant
  Dim k As Long
  Application.ScreenUpdating = False
  Set dic = CreateObject("Scripting.Dictionary")
  For Each c In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
    myKey = Join(WorksheetFunction.Index(c.Resize(, 4).Value, 1, 0), vbTab) 'A〜D
    dic(myKey) = dic(myKey) + c.Offset(, 4).Value 'E列の値を足しこみ
  Next
  Cells.ClearContents
  For Each myKey In dic
    k = k + 1
    Cells(k, 1).Resize(, 4) = Split(myKey, vbTab)
    Cells(k, 5).Value = dic(myKey)
  Next
  Application.ScreenUpdating = True
End Sub
0 hits

【68699】A〜D列が同じ値ならE列合計 希椛(ののか) 11/4/7(木) 16:40 質問
【68700】Re:A〜D列が同じ値ならE列合計 UO3 11/4/7(木) 17:09 回答
【68701】Re:A〜D列が同じ値ならE列合計 希椛(ののか) 11/4/7(木) 17:16 質問
【68702】Re:A〜D列が同じ値ならE列合計 UO3 11/4/7(木) 17:58 発言
【68703】Re:A〜D列が同じ値ならE列合計 kanabun 11/4/7(木) 21:17 発言
【68732】Re:A〜D列が同じ値ならE列合計 希椛(ののか) 11/4/12(火) 8:59 お礼

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