2013-08-02 81 views

回答

2

使用複製粘貼&特殊的「變調」 - 你可以手動執行此操作。

如果你想使用VBA:

Sub Macro1() 

    Sheets(1).Activate 'open the first sheet 
    Sheets(1).Range("A1:A" & Sheets(1).Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row).Select 'select all values in column 
    Selection.Copy 
    Sheets(2).Select 
    ActiveSheet.Range("A1").Select 'this is where your data will be pasted 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=True 'transpose=true flips your data around 

End Sub 

當紙板(1)是指第一片材和板材(2)第二,你可以用你的表的索引或名稱替換這些(如果你使用它周圍的名稱,使用引號),和我假設你的數據在開始A1,代碼:

Sheets(1).Range("A1:A" & Sheets(1).Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row).Select 

選擇所有的數據到該列中的最後一個單元格。

要使這個工作在多個列上,如果它們都在一行中,您可以轉置整個塊。例如: 子宏1()

Sheets(1).Activate 'open the first sheet 
    Sheets(1).Range("A1:X" & Sheets(1).Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row).Select 'select all values in column 
    Selection.Copy 
    Sheets(2).Select 
    ActiveSheet.Range("A1").Select 'this is where your data will be pasted 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=True 'transpose=true flips your data around 

End Sub 

如果你只想做一些列的行,那麼你就需要建立在原始代碼的循環。

Sub Macro1() 
    y = Array(1, 3, 5, 9) 'this is the index of columns A,C,E,F 
    For x = 0 To 3 
    Sheets(1).Activate 'open the first sheet 
    RowCount = Sheets(1).Range(Cells(ActiveSheet.Rows.Count, y(x)).End(xlUp), Cells(ActiveSheet.Rows.Count, y(x)).End(xlUp)).Row 
    Sheets(1).Range(Cells(1, y(x)), Cells(RowCount, y(x))).Select 'select all values in column 
    Selection.Copy 
    Sheets(2).Activate 
    ActiveSheet.Range(Cells(x + 1, 1), Cells(x + 1, 1)).Select 'this is where your data will be pasted 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=True 'transpose=true flips your data around 
Next 
End Sub 
+0

羅文您好,感謝快速回復。您的解決方案完美適用於給定的條件。 但我有Sheet1中的多個列。 COLUMN1列2欄3 值1 1 4 val2的2 5 VAL3 3 6 將被轉換爲 VALUE1 val2的VAL3 如何修改上述腳本來添加這種變化? –

+0

非常感謝您的幫助..它的工作..乾杯! –

1

試試下面的代碼

Sub PerformAction() 
    Application.ScreenUpdating = False 
    With Worksheets(Sheet1.Name) 
    LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row 
    End With 
    For i = 1 To LastRow 
    Sheet2.Cells(1, i).Value = Sheet1.Range("A" & i).Value 
    Next 
    Application.ScreenUpdating = True 
End Sub 
相關問題