尝试根据列中的值将 Excel 电子表格上的某个范围移动到另一个电子表格

尝试根据列中的值将 Excel 电子表格上的某个范围移动到另一个电子表格

我有这个运行良好的代码,我想对它做一些修改,但我不知道具体该怎么做。

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

相关内容