2011-10-13 60 views
0

問題使用修改解答移動數據到單個列在Excel

Dim i As Long, values As Range, current As Range 
Set current = Range("D4") '//select 1st anchor cell 
Do Until current.Value = "" 
    i = i + 45 
    Set values = Range(current.Offset(2, 0), current.Offset(45, 0)) '//select all in the ooc column 
    values.Copy '//got block of data here 
    Sheets("Sheet1").Range("A" & i).PasteSpecial 
    Set current = current.Offset(0, 13) '//next page 
Loop 

在Excel電子表格的列C開始解決了,我有寬13列中的數據的頁面。我需要將第2列和第3列中的數據傳輸到SQL數據庫,因此我試圖將每個頁面上的這2列轉移到彼此的頂部。

下面的截圖是我正在使用的數據。我需要捕獲ODC CSS服務器RowX CabX下的服務器名稱及其相應的資產標籤。如果我可以每隔13行拿走這兩列並堆疊它們,我可以自己刪除額外的信息。

Spreadsheet http://img830.imageshack.us/img830/6126/unledoks.png

我敢肯定,我並不需要提及的時間瘋狂量,這將節省,但我真的可以使用一些幫助入門,或使用示例宏來做到這一點。不幸的是,我沒有太多的VBA經驗,但我會用我能得到的幫助。

回答

2

那麼;

dim i As Long, values as range, current As range 
set current = Range("D4") '//select 1st anchor cell 
do until current.Value = "" 
    i = i + 1 
    set values = range(current.offset(1, 0), current.End(xlToRight)) '//select all in the ooc column 
    values.copy '//got block of data here 
    sheets("someothersheet").range("A" & i * 2 - 1).pastespecial 
    set current = current.offset(0, 13) '//next page 
loop 
+0

已經很接近了。它將每個頁面上每列的標題正確(服務器,資產標籤,pwr等),但列下的信息是(目標工作表的)第4:46行的總和,對於每個頁面它增加了2(6:46,8:48等)希望這是有道理的?我會看看我能用它做什麼。謝謝! –