2011-07-21 137 views
1

我有大量電子表格格式化爲像這樣的第一個表格(但有更多的記錄和不同數量的記錄)。我需要使其獲取所有正確的信息,但將其格式化爲第二個表格,以便導入到Access中。這可以做到嗎?謝謝。如何將表格轉換爲多列

..........部1部2部3部分4
測試1..5
試驗2 ............. X ... ...... 5
測試3..2 ......... x .................. x
測試4 ... ......... x ......... x
測試5..x ............ .................. 2

試驗1第1部分5
試驗2部分2×
試驗2部分3 5
試驗3部分1 2
試驗3部分2×
試驗3部分4×
試驗4部分3×
試驗4部分4×
測試5部分1×
試驗5部分4 2

回答

2

這裏有一種方法來做到這一點。您也可以爲範圍使用For Each循環。

Dim workingRange1 As Range, workingRange2 As Range 

Set workingRange1 = Sheets("Sheet1").UsedRange 
Set workingRange2 = Range("PutStuffHere") 


For i = 0 to workingRange1.Rows.Count - 2 
    For j = 0 to workingRange1.Columns.Count - 2 
    If Not IsEmpty(workingRange1.Cells(i+1, j+1)) 
     workingRange2.Offset(0, 0) = workingRange1.Cells(i+1, 1) 
     workingRange2.Offset(0, 1) = workingRange1.Cells(1, j+1) 
     workingRange2.Offset(0, 2) = workingRange1.Cells(i+1, j+1) 
    End If 
    Set workingRange2 = workingRange2.Offset(1,0) 
    Next j 
Next i