我有这个运行良好的代码,我想对它做一些修改,但我不知道具体该怎么做。
Sub movetosheet2()
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Sheet1").UsedRange.Rows.Count
J = Worksheets("Sheet2").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Done" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Done" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
我想只复制一个范围,而不是整行。因此,如果此代码将第 8 行从工作表 1 复制到工作表 2,我希望它复制C8:J8
。此外,我更希望它清除工作表 1 中的内容,而不是删除工作表 1 中的第 8 行C8:J8
。
答案1
如果此代码将第 8 行从工作表 1 复制到工作表 2,我希望它改为复制
C8:J8
。
Dim rng As Range, r As Long
r = 8 ' Your Row #
Set Rng = Range("C" & r & ":J" & r)
另外,如果我可以清除工作表 1 中 C8:J8 的内容,我更愿意删除工作表 1 中的第 8 行。
rng
从上面 取出同样的物体:
rng.ClearContents