我目前正在使用Excel中的电子表格。
我的目标是创建一个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复制时,名为Print,数据在表格中,但当我复制到下一张名为" store" (或日志) - 数据不会进入表格,但会出现在表格下方的第一行,因此无法对数据进行排序。
有关如何解决此问题的任何建议?我想,它可能与目的地范围有关,但我不确定。
我还在努力处理我正在复制的数据量 - 从"打印"到"存储"我只想复制细胞" A:H"而不是" EntireRow"。
我对Excel很新!我感谢任何帮助!
谢谢!
我上传了一个截图,显示" Store"在我运行宏之后看起来像。