Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello everyone.
I've one doubt that I was hopping someone could help me with. I used this function to automate creation of 200 sheets in my workbook: # Sub New_Sheets() Dim intNumber As Integer, Counter As Integer intNumber = _ Application.InputBox("Create how many sheets?", "Number of new sheets", "300") Application.ScreenUpdating = False For Counter = 1 To intNumber Worksheets.Add Next Application.ScreenUpdating = True End Sub # I then have one sheet (sheet1) that looks something like this: A B 1 Name: ID: 2 Mike 123 3 Sam 456 4 Carol 789 5 John 945 I recorded a macro that does the following: # Sub Macro1() ' ' Macro1 Macro ' ' Selection.Copy Sheets("Sheet2").Select Range("B1").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B2").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B2").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("A3").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet3").Select Range("B1").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B3").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet3").Select Range("B2").Select ActiveSheet.Paste End Sub # OK how do I automate this process so it creates a individualized sheet for each worker? Thanks in advanced |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try something like this. Modify as needed
Sub CreateNewSheet() Dim lRow As Long Dim aWS As Worksheet Dim myWS As Worksheet Dim aWB As Workbook Dim myRange As Range Set aWB = ActiveWorkbook Set aWS = ActiveSheet lRow = aWS.Cells(aWS.Rows.Count, 1).End(xlUp).Row 'determines the last row for column 1 If lRow = 1 Then MsgBox ("You don't have any data in column 1 of the active sheet.") End If Set myRange = aWS.Cells(2, 1).Resize(lRow - 2 + 1, 1) Debug.Print myRange.Address For Each r In myRange If Not IsEmpty(r) Then 'Creates new worksheet and adds at the end aWB.Worksheets.Add after:=aWB.Worksheets(aWB.Worksheets.Count) Set myWS = ActiveSheet 'Puts the value of ID in B1 on each sheet myWS.Range("B1").Value = r.Offset(0, 1).Value 'Defines the worksheet name to be equal to the ID On Error Resume Next myWS.Name = r.Offset(0, 1).Value On Error GoTo 0 End If Next r End Sub -- HTH, Barb Reinhardt If this post was helpful to you, please click YES below. "Diogo" wrote: Hello everyone. I've one doubt that I was hopping someone could help me with. I used this function to automate creation of 200 sheets in my workbook: # Sub New_Sheets() Dim intNumber As Integer, Counter As Integer intNumber = _ Application.InputBox("Create how many sheets?", "Number of new sheets", "300") Application.ScreenUpdating = False For Counter = 1 To intNumber Worksheets.Add Next Application.ScreenUpdating = True End Sub # I then have one sheet (sheet1) that looks something like this: A B 1 Name: ID: 2 Mike 123 3 Sam 456 4 Carol 789 5 John 945 I recorded a macro that does the following: # Sub Macro1() ' ' Macro1 Macro ' ' Selection.Copy Sheets("Sheet2").Select Range("B1").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B2").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet2").Select Range("B2").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("A3").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet3").Select Range("B1").Select ActiveSheet.Paste Sheets("Sheet1").Select Range("B3").Select Application.CutCopyMode = False Selection.Copy Sheets("Sheet3").Select Range("B2").Select ActiveSheet.Paste End Sub # OK how do I automate this process so it creates a individualized sheet for each worker? Thanks in advanced |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Auto-fill text - links to other sheets | Excel Discussion (Misc queries) | |||
source sheet to auto fill 2 other sheets | New Users to Excel | |||
source sheet to auto fill 2 other sheets | New Users to Excel | |||
Working with 2 sheets, need to auto fill 2nd sheet with date from | Excel Programming | |||
Auto Fill Different Sheets same cell on each sheet? | Excel Discussion (Misc queries) |