因此,我是该语言的新手,正努力让自己对此有所了解。这段代码是用于工作的,此处的这一节得到了本网站上一个了不起的人的大力帮助。
当“ 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`
答案 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