2014-02-05 37 views
-1

我在一張工作表Sheet_1中有一個大型數據集。數據集被分成許多其他數據集(Excel中有一些分隔符,如空行或類似)。VBA:基於數據創建許多工作簿

我必須收集此數據集中的數據,並根據數據創建許多新的工作簿。例如,

COLA  COLB 
Account # Title 
ACC1  12 
ACC2  3 
ACC2  3 
----------------empty row divider --------------- 
Account # Title 
ACC2  12 
ACC3  3 
ACC1  3 
etc. 

因此,我需要一個新的ACC1工作表,ACC2,ACC3和所有其他帳戶#。實際上,帳號列表是在Sheet_2中預定義的。

將這個算法適合我的需要: 1)獲得所有必要的數據爲每個帳戶,並將其保存wihin同一工作簿,例如,在一個名爲表「結果」,其中所有數據將通過賬戶

進行排序

2)然後使用一些循環或範圍或東西爲每個帳戶創建新的工作簿並在那裏複製/粘貼數據?

我是一名程序員,但相對新的VBA ...所以我不知道這是可以工作的算法。

回答

0

我會去除不需要的行分隔符和列標題的行,然後對左側排序進行排序,以便列1具有所有且僅有的accountnumbers,然後直到最後一行,創建工作簿和複製範圍,類似:

' TODO: Determine intLastRow 
curAcc = "" 
' TODO: Add target workbook to store rows to 
For i = 1 to intLastRow 
    If ActiveSheet.Cells(i, 1) <> curAcc Then 
    ' TODO: Save and close previous target workbook 
    ' TODO: Add new target workbook 
    curAcc = ActiveSheet.Cells(i, 1) 
    End If 
    ' TODO:Save active row from source workbook in target workbook 
Next  
' Save and close last target workbook 
相關問題