vba的几个小问题请教

来源:百度知道 编辑:UC知道 时间:2024/06/24 08:42:52
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Application.Cells(3, 1)
If (Target = "4" Or "6" Or "9" Or "11") Then
Worksheets("月报").Cells(22, 1).EntireRow.Delete
ElseIf (rng = "2") Then
Worksheets("月报").Range(Cells(21, 1), Cells(22, 1)).EntireRow.Delete
End If
End Sub

想做一个宏,当某一单元格变化时,根据内容,删除一行,或者2行,只删除一次。
上面程序有很多问题,请指教

换种方法看如何:

Private Sub Worksheet_Change(ByVal Target As Range)

Set Target = Application.Cells(3, 1)
If (Target = "4" Or "6" Or "9" Or "11") Then
Worksheets("月报").Rows("22:22").Select
Selection.Delete Shift:=xlUp
ElseIf (Target = "2") Then
Worksheets("月报").Rows("21:22").Select
Selection.Delete Shift:=xlUp
End If

End Sub