2016-04-25 47 views
0

我試圖在一行中複製單元格,但每行都會有不同的長度。 例如:Row1具有來自A1的數據:H1 Row2具有來自A2的數據:L2 Row3具有來自A3的數據:D3 通常的代碼是.Range(.Cells(i,「A」),. Cells(i, 「H」))。複製 但是在一個循環中,我該如何檢測行的長度?如何使用VBA在不同長度的行中複製單元格

謝謝!

+0

一排 「時長」?你的意思是最後一列,在右邊?爲了讓最後一個包含數據的單元格在一行中(例如,讓我們使用第5行),可以執行'lastCol = Cells(5,Columns.Count).End(XlToLeft).Column',從而爲您提供最後一列。然後,它只是'myRowRange = Range(Cells(5,1),Cells(5,lastCol))'。 – BruceWayne

回答

0

試試這個:

Sub CopyRows 
    Dim intCounter as Integer 
    For intCounter = 1 to Cells(Rows.Count,1).End(xlUp).Row 
     Range(Cells(intcounter,1), Cells(intcounter,Columns.Count).End(xlToLeft).Column)).Copy 
     ' Copy your stuff, where you want 
    Next intCounter 
End sub 
在特定情況下

和:

.Range(.Cells(i,1),.Cells(i,.Cells(i,Columns.Count).End(xlToLeft).Column)).Copy 
+0

我正在複製的行已經在循環中。請看下面的代碼 'For j = 1 To lastrow2 If Sheets(「Sheet1」)。Cells(j,「B」)。Value = bidtype Then .Range(.Cells(i,「B 「),.Cells(我,」L「))。複製 – adr0327

+0

@ adr0327我會添加自定義代碼,但上面的代碼工作,並在你身邊的一些小操縱不會殺死任何人 – Sergej

+0

請再提一個問題。 。我從一張紙上覆制了一個單元格,並希望將該單元格粘貼到另一張紙上,例如10列中的一列單元格中。下面的步驟提出了疑問。再次感謝你! – adr0327

相關問題