Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Help writing a macro


Hi all! I'm very new to macros (I just discovered them tonight! lol)
and I am having some problems:

I have 12 sheets (Jan-Dec) on the project I am working on and each page
has stats on 28 staff members in my department. I am trying to insert 2
rows for each staff member on each sheet. That works out to 672 rows
that I have to add, which is very time consuming. Here is the macro I
have so far:

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 31/12/2005 by John Smith
'
' Keyboard Shortcut: Ctrl+t
'
Range("B11:AJ11").Select
Selection.EntireRow.Insert
Selection.EntireRow.Insert

End Sub

For the range, the numbers would change as follows: B21:AJ21, B29:AJ29,
B37:AJ37, etc....

Is it possible to write all of this under one macro or do I have to
write a different macro for each row?

Thanks for your time!

(I have a feeling its going to be quicker to add the rows manually).


--
IcarusFB
------------------------------------------------------------------------
IcarusFB's Profile: http://www.excelforum.com/member.php...o&userid=29905
View this thread: http://www.excelforum.com/showthread...hreadid=497120

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Help writing a macro

Not absolutely sure about the row gaps, but let us assume that you want
every 8th row from row 11 to row 235 (you can always adjust to suit) then
something like

Sub AddRows()
Dim sh As Worksheet
Dim i As Long

For Each sh In Worksheets(Array("Jan","Feb","Mar")) ' add rest yourself
For i = 235 to 11 Step -8
rows(i).Resize(2).Insert
Next i
Next sh
End Sub

--

HTH

RP
(remove nothere from the email address if mailing direct)


"IcarusFB" wrote in
message ...

Hi all! I'm very new to macros (I just discovered them tonight! lol)
and I am having some problems:

I have 12 sheets (Jan-Dec) on the project I am working on and each page
has stats on 28 staff members in my department. I am trying to insert 2
rows for each staff member on each sheet. That works out to 672 rows
that I have to add, which is very time consuming. Here is the macro I
have so far:

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 31/12/2005 by John Smith
'
' Keyboard Shortcut: Ctrl+t
'
Range("B11:AJ11").Select
Selection.EntireRow.Insert
Selection.EntireRow.Insert

End Sub

For the range, the numbers would change as follows: B21:AJ21, B29:AJ29,
B37:AJ37, etc....

Is it possible to write all of this under one macro or do I have to
write a different macro for each row?

Thanks for your time!

(I have a feeling its going to be quicker to add the rows manually).


--
IcarusFB
------------------------------------------------------------------------
IcarusFB's Profile:

http://www.excelforum.com/member.php...o&userid=29905
View this thread: http://www.excelforum.com/showthread...hreadid=497120



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Help writing a macro

Here is a slight variation on Bob's solution.
I assume you have each sheet populated with staff members names.
I also assume the name are in col A or Col B startin at row 11 and
ending in row 39 (11+ 28).
The code below selects all of the sheets at once and then performs the
insertion of 2 rows beneath each staff member.

Sub AddRows()

Sheets(Array("Jan", "Feb", "Mar", "Apr")).Select '<== Add additional
sheets

For i = 12 To 96 Step 3
Worksheets(1).Rows(i).Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Next i

End Sub

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Help writing a macro

Yeah, selecting them all is a good idea. I like it <vbg

Bob


wrote in message
oups.com...
Here is a slight variation on Bob's solution.
I assume you have each sheet populated with staff members names.
I also assume the name are in col A or Col B startin at row 11 and
ending in row 39 (11+ 28).
The code below selects all of the sheets at once and then performs the
insertion of 2 rows beneath each staff member.

Sub AddRows()

Sheets(Array("Jan", "Feb", "Mar", "Apr")).Select '<== Add additional
sheets

For i = 12 To 96 Step 3
Worksheets(1).Rows(i).Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Next i

End Sub



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Help writing a macro


Just for my own understanding (I'm also trying to learn VBA) - what is
the purpose of the line

Application.CutCopyMode = False

in this code?

I have used it after pasting something to cancel the "marching ants"
but I don't understand what it does in this code.


--
Cutter
------------------------------------------------------------------------
Cutter's Profile: http://www.excelforum.com/member.php...fo&userid=9848
View this thread: http://www.excelforum.com/showthread...hreadid=497120



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default Help writing a macro

It clears Excel objects from the Windows clipboard.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


"Cutter"
wrote in message
...

Just for my own understanding (I'm also trying to learn VBA) -
what is
the purpose of the line

Application.CutCopyMode = False

in this code?

I have used it after pasting something to cancel the "marching
ants"
but I don't understand what it does in this code.


--
Cutter
------------------------------------------------------------------------
Cutter's Profile:
http://www.excelforum.com/member.php...fo&userid=9848
View this thread:
http://www.excelforum.com/showthread...hreadid=497120



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Help writing a macro


I ran the macro but it isn't consistent throughout each sheet. One
column of stats will have 2 rows added and another will have 8. I need
the 2 rows added to every 8th line (just like it says in the code) but
for some reason it isn't giving me an even distribution of rows.

If I know exactly which lines I need the rows on, how would I rewrite
the code, to tell the macro to add 2 rows to each line listed in the
code?

For example: "add 2 rows to line 11, add 2 rows to line 19, add 2 rows
to line 27, etc...."

I'm assuming that this have to be re-written somehow:

For i = 227 To 8 Step -8
Rows(i).Resize(2).Insert


--
IcarusFB
------------------------------------------------------------------------
IcarusFB's Profile: http://www.excelforum.com/member.php...o&userid=29905
View this thread: http://www.excelforum.com/showthread...hreadid=497120

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Writing a macro RB[_2_] Excel Worksheet Functions 0 January 14th 08 05:40 PM
Writing a macro Roxio Excel Programming 1 October 26th 05 05:56 PM
Macro Writing rjamison Excel Programming 0 June 14th 05 12:14 AM
help in writing a macro slim[_2_] Excel Programming 1 February 13th 04 01:41 AM
Writing Macro Tammy Klein Excel Programming 1 October 3rd 03 09:13 PM


All times are GMT +1. The time now is 03:26 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"