自动从另一张表中选择和删除行

自动从另一张表中选择和删除行

我有一段代码,它从 H2 中取出一个数字,然后根据这个数字选择 X 行并打印它们。我不知道如何在打印后删除所选内容。如果我不清除 H2,代码就会开始一些循环并不停地打印所选内容。如果我删除 H2 数字,我将失去所选内容并且无法删除它们。

如果我可以将我的数据从 Sheet1 移动到 Sheet3(整个 A 列)并告诉代码从那里选择并打印(当我在 Sheet1 中输入一个数字时),然后删除打印的行,那就完美了。

请帮助我解决这个问题。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim celltxt As String
Dim n As Range


'H2 is where the entry number is going to be
 Set n = Worksheets("Sheet1").Range("H2")
  On Error GoTo Finalise
 'Select Column C and H2 number
Worksheets("Sheet1").Range(Cells(2, 1), Cells(n + 1, 1)).Select

celltxt = Worksheets("Sheet1").Range("H2").Text
If InStr(1, celltxt, "") Then
 Dim ws As Worksheet
 For Each ws In Worksheets
 If ws.Range("H2") <> "" Then
 Selection.PrintOut
 Range("H2").ClearContents
 Selection.EntireRow.Delete
 End If
 Next ws

Else

End If
Finalise:
    Application.EnableEvents = True
    ActiveSheet.Range("H2").Select
End Sub

谢谢

答案1

即使我无法将数据移动到 Sheet3(如果有人知道如何操作,我将不胜感激),我还是设法完成了代码,但它会从 A1 列获取数据并删除 H2。好消息是它也会删除所选内容。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim celltxt As String
Dim n As Range

'H2 is where the entry number is going to be
 Set n = Worksheets("Sheet1").Range("G1")
  On Error GoTo Finalise
 'Select Column C and H2 number
Worksheets("Sheet1").Range(Cells(2, 1), Cells(n + 1, 1)).Select

celltxt = Worksheets("Sheet1").Range("G1").Text
If InStr(1, celltxt, "") Then
 Dim ws As Worksheet
 For Each ws In Worksheets
 If ws.Range("H2") <> "" Then
 Selection.PrintOut
 'Range("H2").ClearContents
 'ass.Delete Shift:=xlToUp
 Selection.EntireRow.Delete
 'Application.SendKeys ("{LEFT}")
 End If
 Next ws

Else

End If
Finalise:
    Application.EnableEvents = True
    Sheets("Sheet1").Activate
    ActiveSheet.Range("H2").Select
    Range("H2").Interior.ColorIndex = 3
End Sub

同样,如果有人知道如何在其他工作表中进行选择并从那里删除行并返回到 H2,那就太棒了。

谢谢

相关内容