Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Junior Member
 
Posts: 1
Default VBA Macro to Create Sheets Based on Column of Values

Hi everyone,

I have an excel macro that I think is pretty complicated for a newb like me, so I was hoping for some help/guidance

I have 2 sheets:
(1) Carrier - Current Location (attached)
(2) Carrier Specific

Here is what I'm hoping the macro will accomplish:
1) Copy the sheet called Carrier Specific
2) Name the new sheet based on the value in Carrier - Current Location (starting at C4)
3) Input that same value into cell D1 of the new sheet
4) Go down the list in Carrier - Current Location and create new sheets like this until it hits a 0 value

Ex. Carrier - Current Location C4 = CKUO
--I want this to copy Carrier Specific, re-name is CKUO, and input "CKUO" into cell D1 of the new sheet called CKUO
--Then repeat this for every item in the list until it hits a value of 0

I attached my spreadsheet to this as well, please let me know if you can help me out / lead me in the correct direction!
(It's a smaller version of my real workbook, so there's a bunch of REF errors)

Thanks so much!!
Attached Images
 
Attached Files
File Type: zip Book2.zip (27.7 KB, 68 views)
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 173
Default VBA Macro to Create Sheets Based on Column of Values

Good Afternoon,

This code worked for me on your sample workbook. It uses an input box to have the user select a range with the Carrier names rather than using the ActiveCell approach. This helps ensure that your are running the code only on those cells that you want to create tabs for. Still, it will end the sub upon encountering a "0", so feel free to select the entire range you need if you wish.

To use this, just paste the code below to a module in your sheet. Hope this helps.

Ben

Option Explicit

Sub ParseCarriers()
Dim rCell As Range
Dim rCarriers As Range
Dim wsNew As Worksheet
Dim wsCarriers As Worksheet

On Error Resume Next
Set rCarriers = Application.InputBox("Please select the range of Carrier names to add", "Carrier Selection", , , , , , 8)
If rCarriers Is Nothing Then Exit Sub
On Error GoTo 0

Set wsCarriers = Sheets("Carrier Specific")
Application.ScreenUpdating = False

For Each rCell In rCarriers
If rCell.Value = 0 Then GoTo ExitHere
wsCarriers.Copy After:=Sheets(Sheets.Count)
Set wsNew = ActiveSheet
On Error Resume Next
wsNew.Name = rCell.Value
On Error GoTo 0
wsNew.Range("D1").Value = rCell.Value
Next rCell

ExitHe
Application.ScreenUpdating = True
End Sub
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
Create New Sheets and Name Them Based on Values in another sheet KennyD Excel Discussion (Misc queries) 2 January 28th 10 06:51 PM
Macro to Create Worksheets Based on Cell Values Lilbit Excel Worksheet Functions 3 March 24th 08 05:39 PM
Create 2 sheets, from one, based upon value of one column NickR2 Excel Worksheet Functions 5 December 26th 07 01:03 PM
CREATE NEW WORKBOOK AND SHEETS BASED ON COLUMN DATA control freak Excel Worksheet Functions 2 July 20th 06 06:00 PM
Create Worksheets Based Upon Changing Column Values in XP Gary[_12_] Excel Programming 1 December 18th 03 12:07 AM


All times are GMT +1. The time now is 09:46 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"