ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA Help Naming Sheets (https://www.excelbanter.com/excel-programming/401430-vba-help-naming-sheets.html)

jlclyde

VBA Help Naming Sheets
 
I am lookign for some help on VBA. I need a new sheet named after
each employee that i add to a list. I want simple code that I can
just activate with a button or other command later. So after I add
the employee to a list of names, I want code to be able to go through
the list and find names that are not the same as ones that are already
worksheets and add them. I hope this is possible.

Thanks,
Jay

joel

VBA Help Naming Sheets
 
Sub addsheets()

Set sheetnames = Range("B7:B25")
For Each cell In sheetnames
Found = False
For Each sht In ThisWorkbook.Sheets
If sht.Name = cell Then
Found = True
Exit For
End If
Next sht
If Found = False Then
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = cell
End If
Next cell

End Sub

"jlclyde" wrote:

I am lookign for some help on VBA. I need a new sheet named after
each employee that i add to a list. I want simple code that I can
just activate with a button or other command later. So after I add
the employee to a list of names, I want code to be able to go through
the list and find names that are not the same as ones that are already
worksheets and add them. I hope this is possible.

Thanks,
Jay


Dan R.

VBA Help Naming Sheets
 
Jay,

Here's one way:

Private Sub CommandButton1_Click()
Dim lRow As Long, i As Range
Dim sh As Worksheet, sh2 As Worksheet
Dim exists As Boolean

lRow = Range("A65536").End(xlUp).Row
Set rng = Range(Cells(1, 1), Cells(lRow, 1))

For Each i In rng
For Each sh In ThisWorkbook.Worksheets
If sh.Name = i Then
exists = True
Exit For
Else
exists = False
End If
Next sh
If exists = False Then
Set sh2 = Sheets.Add
sh2.Name = i
End If
Next i

End Sub

--
Dan

joel

VBA Help Naming Sheets
 
Dan: When you use wroksheet.add you must use either the after:= or befo=.
Otherwise, the new worksheet is put in a new workbook. See my last posting.

"Dan R." wrote:

Jay,

Here's one way:

Private Sub CommandButton1_Click()
Dim lRow As Long, i As Range
Dim sh As Worksheet, sh2 As Worksheet
Dim exists As Boolean

lRow = Range("A65536").End(xlUp).Row
Set rng = Range(Cells(1, 1), Cells(lRow, 1))

For Each i In rng
For Each sh In ThisWorkbook.Worksheets
If sh.Name = i Then
exists = True
Exit For
Else
exists = False
End If
Next sh
If exists = False Then
Set sh2 = Sheets.Add
sh2.Name = i
End If
Next i

End Sub

--
Dan


Dan R.

VBA Help Naming Sheets
 
On Nov 20, 11:33 am, Joel wrote:
Dan: When you use wroksheet.add you must use either the after:= or befo=.
Otherwise, the new worksheet is put in a new workbook. See my last posting.



"Dan R." wrote:
Jay,


Here's one way:


Private Sub CommandButton1_Click()
Dim lRow As Long, i As Range
Dim sh As Worksheet, sh2 As Worksheet
Dim exists As Boolean


lRow = Range("A65536").End(xlUp).Row
Set rng = Range(Cells(1, 1), Cells(lRow, 1))


For Each i In rng
For Each sh In ThisWorkbook.Worksheets
If sh.Name = i Then
exists = True
Exit For
Else
exists = False
End If
Next sh
If exists = False Then
Set sh2 = Sheets.Add
sh2.Name = i
End If
Next i


End Sub


--
Dan- Hide quoted text -


- Show quoted text -


Thanks Joel, but it works fine without.

--
Dan


All times are GMT +1. The time now is 11:12 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com