2014-01-14 90 views
0

我有一個表是導出與我的網站上的用戶帳戶相關的信息記錄數據庫的表。我的最終結果是將信息從舊的數據庫結構移動到導入函數中,因此我需要在開始導入之前在新表中獲取正確的格式。Excel通過匹配連接ID

這是它看起來像下手,雖然是簡化版

Opening Database

什麼,我試圖做的是檢查在用戶ID列相匹配的任何數據,並把這些值入值列(或如果多數民衆贊成容易實現新列)

所以這是我怎麼會希望它看起來

Concatenated values

假設這不是通過Excels格式化可以完成的事情,所以我認爲它需要是一個自定義函數,但我不知道有足夠的VB自己編寫它。

*任何建議之前,我堅持用這個版本的出口,我不能做一個不同的數據庫,出口爲一體的客戶端不再具有DB

回答

1

試試這個:

Sub Parser() 
Dim I As Integer 
Dim J As Integer 
Dim IMax As Integer 
Dim CurrentValue As Integer 
Dim CommaSet As Boolean 

IMax = Range("A2").End(xlDown).Row 

For I = 2 To IMax 
    CurrentValue = Cells(I, 1).Value 
    Call Cells(I, 3).Clear 
    CommaSet = False 
    For J = 2 To IMax 
     If Cells(J, 2).Value = CurrentValue Then 
      If CommaSet Then 
       Cells(I, 3).Value = Cells(I, 3).Value + ", " 
      Else 
       CommaSet = True 
      End If 
      Cells(I, 3).Value = Cells(I, 3).Value + Chr(63 + J) 
     End If 
    Next 
Next 

End Sub 
+0

太神奇了,這正是我想要的,謝謝! –

+0

不客氣。 :d – Taosique