0

我正在尝试找到一个宏,它将删除用户指定数字以下的所有行。例如,用户将输入“19”,宏将删除第 20 行及以下的行。我真的很感激帮助。

谢谢!

4

3 回答 3

3

尝试这个。我用过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
于 2012-07-24T17:22:48.567 回答
0

您可以在 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
于 2012-07-24T17:04:04.527 回答
-1

这应该可以解决问题:

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
于 2012-07-24T16:57:03.177 回答