Excel VBA質問箱 IV

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

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


47487 / 76732 ←次へ | 前へ→

【34200】Re:重複しているデータだけ残したい
発言  ponpon  - 06/1/28(土) 18:30 -

引用なし
パスワード
   こんにちは。

覚え立てのDictionaryを使って、合計までは出せたのですが、
件数をどこで取得したらいいかわかりません。情けない。
識者の回答をお待ちください。

Sub test2()
  Dim myR As Range
  Dim myVAl As Variant
  Dim myDic As Object
  Dim myKey As Variant
  Dim i As Long
  
  With Worksheets("Sheet1")
    Set myR = .Range("A1", .Range("A65536").End(xlUp))
    With myR.Offset(, 26)
     .Value = "=IF(COUNTIF(" & myR.Address & ",A1)>1,"""",1)"
     On Error Resume Next
     .SpecialCells(xlCellTypeFormulas, xlNumbers).EntireRow.Delete
     If Err.Number <> 0 Then
       MsgBox "重複セルはありません"
       Err.Clear
     End If
     On Error GoTo 0
     .ClearContents
    End With
    myVAl = myR.Resize(, 2).Value
    Set myDic = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(myVAl, 1)
     myKey = myVAl(i, 1)
     myDic.Item(myKey) = myDic.Item(myKey) + myVAl(i, 2)
    Next
'  End With          'Sheet2に書き出す場合
'  With Worksheets("Sheet2") 'Sheet2に書き出す場合
   .Cells.ClearContents
   With .Range("A1").Resize(myDic.Count)
      .Value = Application.Transpose(myDic.Keys())
      .Offset(, 1).Value = Application.Transpose(myDic.Items())
   End With
  End With
  
   Set myR = Nothing
   Set myDic = Nothing
  
End Sub

0 hits

【34183】重複しているデータだけ残したい まろにゃ 06/1/27(金) 21:50 質問
【34184】Re:重複しているデータだけ残したい kobasan 06/1/27(金) 22:13 回答
【34185】Re:重複しているデータだけ残したい ponpon 06/1/27(金) 22:29 発言
【34195】Re:重複しているデータだけ残したい ichinose 06/1/28(土) 11:06 発言
【34198】Re:重複しているデータだけ残したい まろにゃ 06/1/28(土) 15:26 質問
【34200】Re:重複しているデータだけ残したい ponpon 06/1/28(土) 18:30 発言
【34208】Re:重複しているデータだけ残したい kobasan 06/1/28(土) 20:32 発言
【34209】Re:重複しているデータだけ残したい ponpon 06/1/28(土) 20:45 お礼
【34241】Re:重複しているデータだけ残したい まろにゃ 06/1/29(日) 17:33 お礼

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