Try this. You could use x=inputbox("Enter num of rows") instead of a cell.
Sub delnumofrows()
x = Range("b1")
lr = Cells(Rows.Count, "a").End(xlUp).Row
If lr > x Then Rows(x & ":" & lr).Delete
End Sub
--
Don Guillett
Microsoft MVP Excel
SalesAid Software
(E-Mail Removed)
<(E-Mail Removed)> wrote in message
news:ac75e8e3-122a-4f4a-94bf-(E-Mail Removed)...
>I have a range of rows with data withi them. say 100 rows. on the
> sheet theres acell in which you enter a number say 20. And the
> program deletes all the rows within the range except the first 20, I
> am using a very simple code at the moment but i am sure could be done
> better
>
> counter = Range("e11")
> Range("e15").Select
> Do Until countert = counter
> ActiveCell.Offset(1, 0).Select
> countert = countert + 1
> Loop
>
> Do Until ActiveCell = ""
> ActiveCell.EntireRow.Delete
> Loop
>
> as you see the user determines the number of records he wants by
> entering a number in range E11.
>
> This does work fine but I am trying to learn better programming
> methods where I am not actively moving around a worksheet, any
> suggestions