VBAmacros根据用户input删除行

我试图find一个macros,将删除用户指定的数字下的所有行。 例如,用户将input“19”,macros将删除第20行和以下的行。 我真的很感激帮助。

谢谢!

尝试这个。 我用过ActiveSheet 。 您可以将其设置为您想要使用的任何工作表。

 Sub Sample() Dim Ret As Long Ret = Application.InputBox(Prompt:="Please enter a row number", Type:=1) If Ret = False Then Exit Sub With ActiveSheet .Rows(Ret + 1 & ":" & .Rows.Count).Delete End With End Sub 

您可以inputcolumn = 1和Row = 1您想要保留的行的编号。 数据在rows = deleterows之前,每行返回到row = 2之前将被删除。

 Sub Macro1() ' ' Macro1 Macro ' deleterowsbefore = ActiveSheet.Cells(1, 1) Rows("2:" & deleterowsbefore - 1).Select Selection.Delete Shift:=xlUp End Sub 

这应该做的伎俩:

 Sub UserInput() Dim num As Integer num = InputBox(Prompt:="Enter the row number.", Title:="Enter Row Number", Default:="Row number") If (num < 1) Then GoTo Whoops: End If Dim i As Integer i = 1 Do While i <= num Rows(1).EntireRow.Delete i = i + 1 Loop GoTo Fin: Whoops: MsgBox ("You have entered an invalid row number") Fin: End Sub