Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 104
Default Count worksheets begining with certain text

Oh Wise Ones,
I did some searching and found some code that
counts worksheets with a particular name. I need something similar but I
need to place the count in a cell on a sheet named "Control". How would I
count the number of sheets that start with AC and place the number in cell A1
and count the number of sheets that start with NM and place them in cell A2.
As sheets are added the numbers would increment. The last part of the code
adds worksheets which I don't want to do programatically, but looks like it
would preclude code to insert the count to a cell, so I left it Please
advise.

Many Thanks,
Mike

Private Sub worksheetMaker()
Dim WB As Workbook
Dim SH As Worksheet
Dim i As Long
Dim iCtr As Long
Const sName As String = "Report"

For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name Like sName & "*" Then
iCtr = iCtr + 1
End If
Next i
'
'If iCtr = 0 Then iCtr = 1
Set SH = Worksheets.Add(after:=Worksheets(Worksheets.Count) )
SH.Name = sName & iCtr + 1
End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,101
Default Count worksheets begining with certain text

If I have understood correctly the code below will do what you want. Just one
point, you didn't say which sheet was to contain the data so I have assumed a
sheet called Index. If your workbook doesn't have one then create one or
change the code to another sheet.

Sub countem()
Const sName1 As String = "MM"
Const sName2 As String = "AC"

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like sName1 & "*" Then
mm = mm + 1
ElseIf ws.Name Like sName2 & "*" Then
ac = ac + 1
End If
Next ws
Worksheets("Index").Cells(1, 1).Value = mm & " Sheets beging with MM"
Worksheets("Index").Cells(2, 1).Value = ac & " Sheets beging with AC"
End Sub


Will that do?
Mike.

"Mike K" wrote:

Oh Wise Ones,
I did some searching and found some code that
counts worksheets with a particular name. I need something similar but I
need to place the count in a cell on a sheet named "Control". How would I
count the number of sheets that start with AC and place the number in cell A1
and count the number of sheets that start with NM and place them in cell A2.
As sheets are added the numbers would increment. The last part of the code
adds worksheets which I don't want to do programatically, but looks like it
would preclude code to insert the count to a cell, so I left it Please
advise.

Many Thanks,
Mike

Private Sub worksheetMaker()
Dim WB As Workbook
Dim SH As Worksheet
Dim i As Long
Dim iCtr As Long
Const sName As String = "Report"

For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name Like sName & "*" Then
iCtr = iCtr + 1
End If
Next i
'
'If iCtr = 0 Then iCtr = 1
Set SH = Worksheets.Add(after:=Worksheets(Worksheets.Count) )
SH.Name = sName & iCtr + 1
End Sub

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 104
Default Count worksheets begining with certain text

Many Thanks Mike! I put it in thisworkbook and it returns the correct count
when run. How would I force it to increment as soon as a new sheet is added
without manually running the sub?

Mike

"Mike" wrote:

If I have understood correctly the code below will do what you want. Just one
point, you didn't say which sheet was to contain the data so I have assumed a
sheet called Index. If your workbook doesn't have one then create one or
change the code to another sheet.

Sub countem()
Const sName1 As String = "MM"
Const sName2 As String = "AC"

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like sName1 & "*" Then
mm = mm + 1
ElseIf ws.Name Like sName2 & "*" Then
ac = ac + 1
End If
Next ws
Worksheets("Index").Cells(1, 1).Value = mm & " Sheets beging with MM"
Worksheets("Index").Cells(2, 1).Value = ac & " Sheets beging with AC"
End Sub


Will that do?
Mike.

"Mike K" wrote:

Oh Wise Ones,
I did some searching and found some code that
counts worksheets with a particular name. I need something similar but I
need to place the count in a cell on a sheet named "Control". How would I
count the number of sheets that start with AC and place the number in cell A1
and count the number of sheets that start with NM and place them in cell A2.
As sheets are added the numbers would increment. The last part of the code
adds worksheets which I don't want to do programatically, but looks like it
would preclude code to insert the count to a cell, so I left it Please
advise.

Many Thanks,
Mike

Private Sub worksheetMaker()
Dim WB As Workbook
Dim SH As Worksheet
Dim i As Long
Dim iCtr As Long
Const sName As String = "Report"

For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name Like sName & "*" Then
iCtr = iCtr + 1
End If
Next i
'
'If iCtr = 0 Then iCtr = 1
Set SH = Worksheets.Add(after:=Worksheets(Worksheets.Count) )
SH.Name = sName & iCtr + 1
End Sub

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,101
Default Count worksheets begining with certain text

I was looking at that but unfortunately adding a sheet isn't a workbook event
that could fire a macro. In any case when you add a sheet it will have a
default sheet name (Sheet99) so wouldn't add to the count anyway.

The best place to put it is right click the tab on your sheet named control
and paste it into the 'worksheet_Activate event.

Mike


"Mike K" wrote:

Many Thanks Mike! I put it in thisworkbook and it returns the correct count
when run. How would I force it to increment as soon as a new sheet is added
without manually running the sub?

Mike

"Mike" wrote:

If I have understood correctly the code below will do what you want. Just one
point, you didn't say which sheet was to contain the data so I have assumed a
sheet called Index. If your workbook doesn't have one then create one or
change the code to another sheet.

Sub countem()
Const sName1 As String = "MM"
Const sName2 As String = "AC"

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like sName1 & "*" Then
mm = mm + 1
ElseIf ws.Name Like sName2 & "*" Then
ac = ac + 1
End If
Next ws
Worksheets("Index").Cells(1, 1).Value = mm & " Sheets beging with MM"
Worksheets("Index").Cells(2, 1).Value = ac & " Sheets beging with AC"
End Sub


Will that do?
Mike.

"Mike K" wrote:

Oh Wise Ones,
I did some searching and found some code that
counts worksheets with a particular name. I need something similar but I
need to place the count in a cell on a sheet named "Control". How would I
count the number of sheets that start with AC and place the number in cell A1
and count the number of sheets that start with NM and place them in cell A2.
As sheets are added the numbers would increment. The last part of the code
adds worksheets which I don't want to do programatically, but looks like it
would preclude code to insert the count to a cell, so I left it Please
advise.

Many Thanks,
Mike

Private Sub worksheetMaker()
Dim WB As Workbook
Dim SH As Worksheet
Dim i As Long
Dim iCtr As Long
Const sName As String = "Report"

For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name Like sName & "*" Then
iCtr = iCtr + 1
End If
Next i
'
'If iCtr = 0 Then iCtr = 1
Set SH = Worksheets.Add(after:=Worksheets(Worksheets.Count) )
SH.Name = sName & iCtr + 1
End Sub

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 104
Default Count worksheets begining with certain text

Hi Mike,
I put the code there and when I select the "Control" sheet I
get a Compile error: Expected End Sub

Mike

"Mike" wrote:

I was looking at that but unfortunately adding a sheet isn't a workbook event
that could fire a macro. In any case when you add a sheet it will have a
default sheet name (Sheet99) so wouldn't add to the count anyway.

The best place to put it is right click the tab on your sheet named control
and paste it into the 'worksheet_Activate event.

Mike


"Mike K" wrote:

Many Thanks Mike! I put it in thisworkbook and it returns the correct count
when run. How would I force it to increment as soon as a new sheet is added
without manually running the sub?

Mike

"Mike" wrote:

If I have understood correctly the code below will do what you want. Just one
point, you didn't say which sheet was to contain the data so I have assumed a
sheet called Index. If your workbook doesn't have one then create one or
change the code to another sheet.

Sub countem()
Const sName1 As String = "MM"
Const sName2 As String = "AC"

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like sName1 & "*" Then
mm = mm + 1
ElseIf ws.Name Like sName2 & "*" Then
ac = ac + 1
End If
Next ws
Worksheets("Index").Cells(1, 1).Value = mm & " Sheets beging with MM"
Worksheets("Index").Cells(2, 1).Value = ac & " Sheets beging with AC"
End Sub


Will that do?
Mike.

"Mike K" wrote:

Oh Wise Ones,
I did some searching and found some code that
counts worksheets with a particular name. I need something similar but I
need to place the count in a cell on a sheet named "Control". How would I
count the number of sheets that start with AC and place the number in cell A1
and count the number of sheets that start with NM and place them in cell A2.
As sheets are added the numbers would increment. The last part of the code
adds worksheets which I don't want to do programatically, but looks like it
would preclude code to insert the count to a cell, so I left it Please
advise.

Many Thanks,
Mike

Private Sub worksheetMaker()
Dim WB As Workbook
Dim SH As Worksheet
Dim i As Long
Dim iCtr As Long
Const sName As String = "Report"

For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name Like sName & "*" Then
iCtr = iCtr + 1
End If
Next i
'
'If iCtr = 0 Then iCtr = 1
Set SH = Worksheets.Add(after:=Worksheets(Worksheets.Count) )
SH.Name = sName & iCtr + 1
End Sub



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 104
Default Count worksheets begining with certain text

My bad! I left the Sub countem() and End Sub from the copy paste. Works great!

Thanks Mike and have a great day

"Mike K" wrote:

Hi Mike,
I put the code there and when I select the "Control" sheet I
get a Compile error: Expected End Sub

Mike

"Mike" wrote:

I was looking at that but unfortunately adding a sheet isn't a workbook event
that could fire a macro. In any case when you add a sheet it will have a
default sheet name (Sheet99) so wouldn't add to the count anyway.

The best place to put it is right click the tab on your sheet named control
and paste it into the 'worksheet_Activate event.

Mike


"Mike K" wrote:

Many Thanks Mike! I put it in thisworkbook and it returns the correct count
when run. How would I force it to increment as soon as a new sheet is added
without manually running the sub?

Mike

"Mike" wrote:

If I have understood correctly the code below will do what you want. Just one
point, you didn't say which sheet was to contain the data so I have assumed a
sheet called Index. If your workbook doesn't have one then create one or
change the code to another sheet.

Sub countem()
Const sName1 As String = "MM"
Const sName2 As String = "AC"

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like sName1 & "*" Then
mm = mm + 1
ElseIf ws.Name Like sName2 & "*" Then
ac = ac + 1
End If
Next ws
Worksheets("Index").Cells(1, 1).Value = mm & " Sheets beging with MM"
Worksheets("Index").Cells(2, 1).Value = ac & " Sheets beging with AC"
End Sub


Will that do?
Mike.

"Mike K" wrote:

Oh Wise Ones,
I did some searching and found some code that
counts worksheets with a particular name. I need something similar but I
need to place the count in a cell on a sheet named "Control". How would I
count the number of sheets that start with AC and place the number in cell A1
and count the number of sheets that start with NM and place them in cell A2.
As sheets are added the numbers would increment. The last part of the code
adds worksheets which I don't want to do programatically, but looks like it
would preclude code to insert the count to a cell, so I left it Please
advise.

Many Thanks,
Mike

Private Sub worksheetMaker()
Dim WB As Workbook
Dim SH As Worksheet
Dim i As Long
Dim iCtr As Long
Const sName As String = "Report"

For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name Like sName & "*" Then
iCtr = iCtr + 1
End If
Next i
'
'If iCtr = 0 Then iCtr = 1
Set SH = Worksheets.Add(after:=Worksheets(Worksheets.Count) )
SH.Name = sName & iCtr + 1
End Sub

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,101
Default Count worksheets begining with certain text

That's en error in copying. The code should exactly like this.

Private Sub Worksheet_Activate()
Const sName1 As String = "MM"
Const sName2 As String = "AC"
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like sName1 & "*" Then
mm = mm + 1
ElseIf ws.Name Like sName2 & "*" Then
ac = ac + 1
End If
Next ws
Worksheets("Control").Cells(1, 1).Value = mm & " Sheets begin with MM"
Worksheets("Control").Cells(2, 1).Value = ac & " Sheets begin with AC"
End Sub

"Mike K" wrote:

Hi Mike,
I put the code there and when I select the "Control" sheet I
get a Compile error: Expected End Sub

Mike

"Mike" wrote:

I was looking at that but unfortunately adding a sheet isn't a workbook event
that could fire a macro. In any case when you add a sheet it will have a
default sheet name (Sheet99) so wouldn't add to the count anyway.

The best place to put it is right click the tab on your sheet named control
and paste it into the 'worksheet_Activate event.

Mike


"Mike K" wrote:

Many Thanks Mike! I put it in thisworkbook and it returns the correct count
when run. How would I force it to increment as soon as a new sheet is added
without manually running the sub?

Mike

"Mike" wrote:

If I have understood correctly the code below will do what you want. Just one
point, you didn't say which sheet was to contain the data so I have assumed a
sheet called Index. If your workbook doesn't have one then create one or
change the code to another sheet.

Sub countem()
Const sName1 As String = "MM"
Const sName2 As String = "AC"

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name Like sName1 & "*" Then
mm = mm + 1
ElseIf ws.Name Like sName2 & "*" Then
ac = ac + 1
End If
Next ws
Worksheets("Index").Cells(1, 1).Value = mm & " Sheets beging with MM"
Worksheets("Index").Cells(2, 1).Value = ac & " Sheets beging with AC"
End Sub


Will that do?
Mike.

"Mike K" wrote:

Oh Wise Ones,
I did some searching and found some code that
counts worksheets with a particular name. I need something similar but I
need to place the count in a cell on a sheet named "Control". How would I
count the number of sheets that start with AC and place the number in cell A1
and count the number of sheets that start with NM and place them in cell A2.
As sheets are added the numbers would increment. The last part of the code
adds worksheets which I don't want to do programatically, but looks like it
would preclude code to insert the count to a cell, so I left it Please
advise.

Many Thanks,
Mike

Private Sub worksheetMaker()
Dim WB As Workbook
Dim SH As Worksheet
Dim i As Long
Dim iCtr As Long
Const sName As String = "Report"

For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name Like sName & "*" Then
iCtr = iCtr + 1
End If
Next i
'
'If iCtr = 0 Then iCtr = 1
Set SH = Worksheets.Add(after:=Worksheets(Worksheets.Count) )
SH.Name = sName & iCtr + 1
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
how to Add Data & Text to begining of All Cells sarwota Excel Discussion (Misc queries) 1 March 10th 09 07:26 PM
How to keep zeros at the begining of a number sockst Excel Worksheet Functions 2 November 5th 08 12:42 PM
Count Text within Multiple Worksheets Laffin Excel Worksheet Functions 10 June 5th 07 01:56 PM
Add text to begining of cells within a range based on specified criteria jsd219 Excel Discussion (Misc queries) 5 October 20th 06 03:59 PM
select text in cell based on text from another cell, paste the text at the begining of a thrid cell, etc... jsd219 Excel Programming 0 October 19th 06 05:04 PM


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