|
▼斉藤 さん:
サロンはマルチ禁止しています。
質問箱のほうは許容していますが、差異との基本方針がありますので
熟読し、次回からは気を付けてください。
一例です。
Sub Sample()
Dim c As Range
Dim dic1 As Object
Dim dic2 As Object
Set dic1 = CreateObject("Scripting.Dictionary")
Set dic2 = CreateObject("Scripting.Dictionary")
With Sheets("Sheet1")
For Each c In .Range("A1", .Range("A" & Rows.Count).End(xlUp))
If Not dic1.exists(c.Value) Then
dic1(c.Value) = c.EntireRow.Range("A1:P1").Value
dic2(c.Value) = c.EntireRow.Range("Q1").Value
Else
dic2(c.Value) = dic2(c.Value) & "," & c.EntireRow.Range("Q1").Value
End If
Next
End With
With Sheets("Sheet2")
.Cells.ClearContents
.Range("A1:P1").Resize(dic1.Count).Value = WorksheetFunction.Transpose(WorksheetFunction.Transpose(dic1.items))
.Range("Q1").Resize(dic2.Count).Value = WorksheetFunction.Transpose(dic2.items)
.Select
End With
End Sub
|
|