Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Need macro to insert data across sheets and workbooks

Posted on 2011-03-10
2
Medium Priority
?
236 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.

704 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