清除变量行的内容

时间:2019-04-01 10:27:33

标签: excel vba

因此,我是该语言的新手,正努力让自己对此有所了解。这段代码是用于工作的,此处的这一节得到了本网站上一个了不起的人的大力帮助。

当“ I列”中的框变为7时,此段应将一行信息复制到另一个电子表格中。由于有了这个人,它可以完美地工作。

我想到的下一个问题是如何删除第一个电子表格中的原始行。

我不能使用“ A9:M9”之类的范围,因为该行不会一直位于该固定位置。

我尝试使用:     If Source.Column = 9 And Source.Value = "7 - engaged" Then
Range("A:M").Select Selection.ClearContents

但是这抹掉了整个工作表。 有什么方法可以删除已复制的一行吗?

If Source.Column <> 9 Then Exit Sub If Source.Value <> "7 - engaged" Then Exit Sub

 If MsgBox("Client status selected as engaged. Confirm to post to tank.", 
 vbOKCancel) = vbOK Then
    With ThisWorkbook.Worksheets("Tank")
        Dim rowToPasteTo As Long
        rowToPasteTo = .Cells(.Rows.Count, "B").End(xlUp).Row + 1

        .Range("A" & rowToPasteTo & ":" & "D" & rowToPasteTo).Value = 
Sh.Range("A" & Source.Row & ":" & "M" & Source.Row).Value
        .Range("G" & rowToPasteTo & ":" & "H" & rowToPasteTo).Value = 
Sh.Range("E" & Source.Row & ":" & "F" & Source.Row).Value
        .Range("S" & rowToPasteTo & ":" & "U" & rowToPasteTo).Value = 
Sh.Range("K" & Source.Row & ":" & "M" & Source.Row).Value

    End With

 End If

 If Source.Column = 9 And Source.Value = "7 - engaged" Then`

1 个答案:

答案 0 :(得分:2)

不确定要删除整行还是清除单元格内容:

If Source.Column = 9 And Source.Value = "7 - engaged" Then
    ' Option 1 - deletes the entire row
    Source.EntireRow.Delete       

    ' Option 2 - clears the contents  
    Source.EntireRow.ClearContents
End Sub