View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
JulieD JulieD is offline
external usenet poster
 
Posts: 618
Default Inserting rows syntax + row #'ing code in protected sheet?

Hi

here's one method for you

Sub insertrows()
Dim i As Long
Dim j As Long
Dim k As Long
Do
i = InputBox("How many rows do you want to insert?", "Insert Rows",
1)
Loop Until i < 0
Do
j = InputBox("At what row number do you want to start the
insertion?", "Insert Rows", 1)
Loop Until j < 0
ActiveSheet.Unprotect
k = j + i - 1
Range("" & j & ":" & k & "").Insert shift:=xlDown
ActiveSheet.Protect
End Sub


"StargateFanFromWork" wrote in message
...
Good morning! <g

The syntax to put basically at beginning and end of a macro that's

assigned
to a button to allow it to work in a protected sheet works just great!

I'm
testing it out here as I work. The code, courtesy of Dave Peterson, is:

With ActiveSheet
.Unprotect
(my code goes here)
.Protect
End With


But, as always seems to be the case, I've run into a particular snag. I
didn't realize that the insert function is gone once a sheet is protected
<g. So we can't insert new rows to accommodate new data once it's
protected.

Just as an fyi, the rows are set up with conditional formatting so that
there is a light yellow fill on odd or even rows (can't remember which,

but
one of those). And in column A I have the automatic row numbering syntax
"=ROW()-1". Thank goodness nothing more complicated than that! <g

Anywho, I've thought and thought just what would be easiest way to do this
because I'm just no good at figuring out VB code. I don't even know where
to go to get syntax other than these ngs as I've had no success online

when
searching for VB coding, so it would be like pulling magic out of thin air
for me. So to keep it simple, perhaps I can create a button on the sheet
that says "insert row" whose function would be to pull up an insert row
dialogue box? I could plug in the unprotect/protect code there for it at
the appropriate spots to make it work. I suppose user could be prompted
with a message box to go to next empty row in the print area? Or perhaps
there's a better way?

Of course, there is the option, I suppose, of just making that button and
then assigning a message box macro to it to say "unprotect the sheet to
insert rows, then protect again" if worse came to worst, but I feel that
would defeat the purpose! <g And I may not know a lot, but there's

plenty
of people who always know less, too! <g I'd like to make it as easy as
possible for my successor.

<sigh They want us clerks to perform miracles, yet not give us the

tools!
Wish they'd send me on VB training, but nothing can ever be justified when
you're a contract worker! <g Where would I be without this ng??

Thanks so much.