0
嗨我寫下面的代碼將一個工作表中某些範圍的單元複製到另一個名爲 「Report」的表中。VBA代碼將數據從多個工作表複製到另一個工作表所需的指導
Sub sample()
Dim lastRow As Long
Dim col As Long
Dim a As String, b As String, c As String
With Sheets("Jack")
lastRow = .Range("A" & Rows.Count).End(xlUp).Row
If lastRow < 4 Then lastRow = 4
For i = 5 To lastRow
For col = 2 To 31
If .Cells(i, col) <> "" Then
a = .Cells(1, 2)
b = .Cells(i, 1)
c = .Cells(i, col)
d = .Cells(3, col)
With Sheets("Report")
.Range("A" & .Range("A" & .Rows.Count).End(xlUp).Row + 1).Value = a
.Range("B" & .Range("B" & .Rows.Count).End(xlUp).Row + 1).Value = b
.Range("C" & .Range("C" & .Rows.Count).End(xlUp).Row + 1).Value = c
.Range("D" & .Range("D" & .Rows.Count).End(xlUp).Row + 1).Value = d
End With
End If
Next
Next
End With
End Sub
上面的代碼工作完全從一個工作表命名爲「傑克」複製數據,但我想從其他工作表中的數據也是如此。總共有10張工作表,我想將sheet2中的數據複製到sheet7,並希望跳過sheet1,sheet8,9和10. 任何有關從所選工作表複製數據的循環都將非常感謝。 謝謝
太感謝你了,我剛申請,它是工作。真的非常感謝你的努力和投入,它很難找到要說謝謝的話。我只有一個問題,是否可以根據「Value = B」的行數合併「Value = a」。希望這兩張圖片有助於正確理解這個問題[鏈接](http://i40.tinypic.com/n5juxv.jpg)和[鏈接]((http://i40.tinypic.com/fxth03.jpg)) – OMK28
您可以使用.merge方法:'Range(xlcell,xlcell.offset(1,0))。Merge'。你可以通過遍歷它來返回地址('對於xlRange中的每個xlCell |如果xlCell.value像valFind那樣| flg = true | strAddresses = strAddresses + xlcell.address | elseif flg = true,然後退出| end if')您可能希望保證搜索是通過降序行完成的,您可以使用行偏移和'for i = start to finish'循環 – Orphid