我想根據excel中sheet1中的行數創建sheet2中的列。 例如 我有數據在Sheet1在sheet2中創建列取決於excel中sheet1中的行數
ROW1:rowvalue1
ROW2:rowvalue2
ROW3:rowvalue3
我想有它在Sheet2中作爲
column1 column2 column3
rowvalue1 rowvalue2 rowvalue3
我想根據excel中sheet1中的行數創建sheet2中的列。 例如 我有數據在Sheet1在sheet2中創建列取決於excel中sheet1中的行數
ROW1:rowvalue1
ROW2:rowvalue2
ROW3:rowvalue3
我想有它在Sheet2中作爲
column1 column2 column3
rowvalue1 rowvalue2 rowvalue3
使用複製粘貼&特殊的「變調」 - 你可以手動執行此操作。
如果你想使用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
試試下面的代碼
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
羅文您好,感謝快速回復。您的解決方案完美適用於給定的條件。 但我有Sheet1中的多個列。 COLUMN1列2欄3 值1 1 4 val2的2 5 VAL3 3 6 將被轉換爲 VALUE1 val2的VAL3 如何修改上述腳本來添加這種變化? –
非常感謝您的幫助..它的工作..乾杯! –