我目前正在Excel中處理電子表格。Excel:使用VBA將行復制到另一個表中的表格
我的目標是創建一個VBA,將具有特定條件的行復制到我的工作簿中的下一張工作表和「日誌表」中。
我VBA看起來是這樣的:
Sub ImportRows()
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Print").UsedRange.Rows.Count
J = Worksheets("Store").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Store").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Print").Range("I2:I" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Print" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Store").Range("A" & J +1)
xRg(K).EntireRow.Copy Destination:=Worksheets("Log").Range("A" & J +1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Print" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
的問題是,當我複製從Sheet1中調用打印數據在一個表,但是當我複製到了名爲「存儲」下一張(或日誌) - 數據不會進入表格,但會出現在表格下方的第一行,無法對數據進行排序。
有關如何解決此問題的任何建議?我認爲,這可能與目標範圍有關,但我不確定。 「:H A」,而不是「EntireRow」當從「打印」複製到「存儲」我只希望複製單元格 -
我也與數據的,我是拷貝量掙扎。
我是相當新的Excel!我感謝任何幫助!
謝謝!
我上傳了一張屏幕截圖,顯示在運行宏後「Store」的樣子。
http://imageshack.com/a/img922/9446/gpL9Ov.png
複製範圍A:H,你可以用'相交(XRG(K).EntireRow,範圍(」 A:H「))。複製...' – Rosetta
對不起,我沒有給你,是'商店'/'日誌'工作表中有一個列表中,數據不會進入表?列表我的意思是我們通過INSERT菜單插入,然後在Tables組下的Table插入。 – Rosetta
謝謝您的回覆! 「打印」工作表是一個表格,我可以在「日期」上排序 - 當我將行復制到下一個工作表(商店)時,我希望能夠排序日期,因爲我想要那些下一個到期日的行將位於最前面。 我希望這可以讓它更清晰 – Straarup