Excel VBA質問箱 IV

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

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


43 / 12962 ツリー ←次へ | 前へ→

【78679】よろしくお願いいたします。 斉藤 16/12/16(金) 22:12 質問[未読]

【78680】Re:よろしくお願いいたします。 β 16/12/16(金) 23:37 発言[未読]

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

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

サロンはマルチ禁止しています。
質問箱のほうは許容していますが、差異との基本方針がありますので
熟読し、次回からは気を付けてください。

一例です。

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

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