我正在尝试找到一个宏,它将删除用户指定数字以下的所有行。例如,用户将输入“19”,宏将删除第 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
您可以在 column=1 和 Row=1 中输入要保留的行号。数据在 rows=deleterowsbefore 每行回到 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