Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Need macro to insert data across sheets and workbooks

Posted on 2011-03-10
2
Medium Priority
?
238 Views
Last Modified: 2012-05-11
In Excel 2003, I have a sheet where I keep track of conference room schedules. I need to add another room to the list. I have 4 workbooks, one for each quarter of the year. The rooms need to be listed in a particular order and with specific spacing. I need to add 6 Main to each worksheet in each workbook, and it must appear 6 cells below the listing for 17 North. So on the April sheet that is attached, 6 Main will appear in cells A32, A70, etc.

And I would need to copy this pattern to each worksheet in the workbook, and to the other quarterly worksheets/workbooks for the rest of this year.
Conference-Room-Schedule.xls
0
Comment
Question by:contrain
2 Comments
 
LVL 23

Accepted Solution

by:
redrumkev earned 2000 total points
ID: 35104083
contrain,

How are you doing?

Try the following:

You can change the string variables to update for "new/other rooms". I wasn't sure if you would have the (number) below "6 Main"? If you need this, then change the numbers 1234, which are within '(1234) to the number you want to use.
If this is not needed, comment out the variable NewNumber and the second cell.offset line.

Note - your spacing is off, the first 17 North has only 3 lines "17 North, (4119), and a blank row", while the rest of them have 4 lines such as: " 17 North, (4119), blank row one, blank row two".

Excel file attached as well.

Hope this helps,
Kevin

Sub AddConferenceRoom()

Dim ws As Worksheet
Dim cell, rng As Range
Dim LastRoom, NewRoom, NewNumber As String

    Application.ScreenUpdating = False

        Set rng = [A1:A5000]
        LastRoom = "17 North "
        NewRoom = "6 Main"
        NewNumber = "'(1234)"
        
            For Each cell In rng
                If cell = LastRoom Then
                    cell.Offset(7, 0).Value = NewRoom
                    cell.Offset(8, 0).Value = NewNumber
                    Else
                End If
            Next cell
                
    Application.ScreenUpdating = False
        
End Sub

Open in new window

Conference-Room-Schedule-version.xls
0
 

Author Closing Comment

by:contrain
ID: 35111242
Absolutely Perfect! This is exactly what I wanted and it does just what I need it to do. And the explanation was very clear and understandable, and the returned sheet with the code already in there made my life a whole lot easier. Thank you sage redrumkev!
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Excel can be a tricky bit of software to get your head around. Whilst you’ll be able to eventually get to grips with the basic understanding of how to get by, there are a few Excel tips that not everybody will even know about let alone know how to d…
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question