我試圖從一個表格(行中)複製單元格並將它們粘貼到另一個表格中(基本上轉置它)。我編寫了代碼,但無法繞過粘貼單元和pastespecial命令。複製單元格的長度因每行而異,所以如何使其選擇動態並以相同方式粘貼?截至目前,我正在考慮粘貼一個特定的長度,並在最後刪除空行。請參閱下面的代碼。如果有人能給我一個輸入或想法,那將是非常棒的。謝謝!!在excel中使用VBA轉置循環中的單元格
Sub Data_Sort_Test()
Dim i As Long, j As Long, k As Long, lastrow1 As Long, lastrow2 As Long
Dim rng As Range, row As Range, rowd1 As Range, cell As Range
Dim bidtype As String
k = 1
lastrow1 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).row
For i = 1 To lastrow1
bidtype = Sheets("Sheet2").Cells(i, "A").Value
Sheets("Sheet1").Activate
lastrow2 = Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).row
For j = 1 To lastrow2
If Sheets("Sheet1").Cells(j, "B").Value = bidtype Then
Sheets("Sheet2").Activate
Sheets("Sheet2").Range(Cells(i, "B"), Cells(i, "K")).Copy
Sheets("Sheet3").Activate
Sheets("Sheet3").Range(Cells(j, "C"), Cells(j, "L")).Select
ActiveSheet.Paste 'Special Transpose:=True
'k = k + 1
End If
Next j
Application.CutCopyMode = False
Next i
End Sub
「但是無法解決粘貼單元格和pastespecial命令」是什麼意思?你有沒有得到一個錯誤 - 如果是的話是什麼?它沒有按照你的預期行事 - 如果是這樣的話? – CHill60
如果您嘗試進行轉置,請從水平轉換爲垂直,爲什麼要將水平範圍粘貼到水平範圍? –
@ CHill60我的意思是我無法編寫代碼進行轉置。我得到了1004運行時錯誤。 – adr0327