Excel VBA質問箱 IV

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

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


463 / 73515 ←次へ | 前へ→

【78681】Re:よろしくお願いいたします。
発言  β  - 16/12/16(金) 23:52 -

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

もう一例、A〜Pを重複の削除機能で処理するパターンです。
8000件ぐらいなら、アップ済みのものとあまり効率はかわらないと思いますが。

Sub Sample2()
  Dim c As Range
  Dim dic As Object
  Dim v As Variant
  
  Set dic = CreateObject("Scripting.Dictionary")
  
  With Sheets("Sheet1")
    v = .Range("A1").CurrentRegion.Columns("A:P").Value
    For Each c In .Range("A1", .Range("A" & Rows.Count).End(xlUp))
      If Not dic.exists(c.Value) Then
        dic(c.Value) = c.EntireRow.Range("Q1").Value
      Else
        dic(c.Value) = dic(c.Value) & "," & c.EntireRow.Range("Q1").Value
      End If
    Next
  End With
  
  With Sheets("Sheet2")
    .Cells.ClearContents
    .Range("A1").Resize(UBound(v, 1), UBound(v, 2)).Value = v
    .Columns("A:P").RemoveDuplicates Columns:=1, Header:=xlYes
    .Range("Q1").Resize(dic.Count).Value = WorksheetFunction.Transpose(dic.items)
    .Select
  End With
End Sub

86 hits

【78679】よろしくお願いいたします。 斉藤 16/12/16(金) 22:12 質問[未読]
【78680】Re:よろしくお願いいたします。 β 16/12/16(金) 23:37 発言[未読]
【78681】Re:よろしくお願いいたします。 β 16/12/16(金) 23:52 発言[未読]
【78682】Re:よろしくお願いいたします。 斉藤 16/12/17(土) 1:28 発言[未読]
【78683】Re:よろしくお願いいたします。 β 16/12/17(土) 6:48 発言[未読]
【78684】Re:よろしくお願いいたします。 β 16/12/17(土) 7:06 発言[未読]
【78685】Re:よろしくお願いいたします。 β 16/12/17(土) 7:41 発言[未読]
【78688】Re:よろしくお願いいたします。 斉藤 16/12/17(土) 10:11 回答[未読]
【78692】Re:よろしくお願いいたします。 斉藤 16/12/17(土) 11:47 質問[未読]
【78694】Re:よろしくお願いいたします。 β 16/12/17(土) 13:15 発言[未読]
【78695】Re:よろしくお願いいたします。 斎藤 16/12/18(日) 17:13 質問[未読]
【78696】Re:よろしくお願いいたします。 β 16/12/18(日) 19:43 発言[未読]
【78697】Re:よろしくお願いいたします。 斉藤 16/12/18(日) 20:00 発言[未読]
【78698】Re:よろしくお願いいたします。 β 16/12/18(日) 20:03 発言[未読]
【78699】Re:よろしくお願いいたします。 β 16/12/18(日) 20:12 発言[未読]
【78700】Re:よろしくお願いいたします。 β 16/12/18(日) 20:20 発言[未読]
【78703】Re:よろしくお願いいたします。 斎藤 16/12/19(月) 23:26 お礼[未読]

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