#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,814
Default new sheet

i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default new sheet

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,814
Default new sheet

this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default new sheet

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve






  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,814
Default new sheet

yes, there are 3 salesmen, each one has about 30 jobs

"Ron de Bruin" wrote:

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve









  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default new sheet

Ahhaaaa

I will make a example for you this evening

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
yes, there are 3 salesmen, each one has about 30 jobs

"Ron de Bruin" wrote:

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve









  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,814
Default new sheet

thanks a lot man, i really appreciate it.

"Ron de Bruin" wrote:

Ahhaaaa

I will make a example for you this evening

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
yes, there are 3 salesmen, each one has about 30 jobs

"Ron de Bruin" wrote:

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve










  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default new sheet

OK try this tester, copy the macro and both functions in a normal module.
Let me kmow if this is working for you

Sub test()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Lc As Long

Set ws1 = ActiveSheet
For Each cell In ws1.Range("B2:IV2").SpecialCells(xlConstants)
If SheetExists(cell.Value) = False Then
Set ws2 = Sheets.Add
On Error Resume Next
ws2.Name = cell.Value
On Error GoTo 0
ws1.Columns(cell.Column).Copy ws2.Range("A1")
ws2.Columns.AutoFit
Else
Set ws2 = Sheets(cell.Text)
Lc = Lastcol(ws2)
ws1.Columns(cell.Column).Copy ws2.Cells(1, Lc + 1)
End If
Next
End Sub


Function Lastcol(sh As Worksheet)
On Error Resume Next
Lastcol = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
On Error GoTo 0
End Function


Function SheetExists(SName As String, _
Optional ByVal WB As Workbook) As Boolean
'Chip Pearson
On Error Resume Next
If WB Is Nothing Then Set WB = ThisWorkbook
SheetExists = CBool(Len(WB.Sheets(SName).Name))
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
thanks a lot man, i really appreciate it.

"Ron de Bruin" wrote:

Ahhaaaa

I will make a example for you this evening

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
yes, there are 3 salesmen, each one has about 30 jobs

"Ron de Bruin" wrote:

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve












  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,814
Default new sheet

it's creating a seperate sheet for every column

"Ron de Bruin" wrote:

OK try this tester, copy the macro and both functions in a normal module.
Let me kmow if this is working for you

Sub test()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Lc As Long

Set ws1 = ActiveSheet
For Each cell In ws1.Range("B2:IV2").SpecialCells(xlConstants)
If SheetExists(cell.Value) = False Then
Set ws2 = Sheets.Add
On Error Resume Next
ws2.Name = cell.Value
On Error GoTo 0
ws1.Columns(cell.Column).Copy ws2.Range("A1")
ws2.Columns.AutoFit
Else
Set ws2 = Sheets(cell.Text)
Lc = Lastcol(ws2)
ws1.Columns(cell.Column).Copy ws2.Cells(1, Lc + 1)
End If
Next
End Sub


Function Lastcol(sh As Worksheet)
On Error Resume Next
Lastcol = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
On Error GoTo 0
End Function


Function SheetExists(SName As String, _
Optional ByVal WB As Workbook) As Boolean
'Chip Pearson
On Error Resume Next
If WB Is Nothing Then Set WB = ThisWorkbook
SheetExists = CBool(Len(WB.Sheets(SName).Name))
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
thanks a lot man, i really appreciate it.

"Ron de Bruin" wrote:

Ahhaaaa

I will make a example for you this evening

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
yes, there are 3 salesmen, each one has about 30 jobs

"Ron de Bruin" wrote:

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve













  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default new sheet

Hi Steve

For example :
It will copy all columns with Dave in ws1.Range("B2:IV2") to the same sheet.

Send me a small test workbook private and I look at it for you

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
it's creating a seperate sheet for every column

"Ron de Bruin" wrote:

OK try this tester, copy the macro and both functions in a normal module.
Let me kmow if this is working for you

Sub test()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Lc As Long

Set ws1 = ActiveSheet
For Each cell In ws1.Range("B2:IV2").SpecialCells(xlConstants)
If SheetExists(cell.Value) = False Then
Set ws2 = Sheets.Add
On Error Resume Next
ws2.Name = cell.Value
On Error GoTo 0
ws1.Columns(cell.Column).Copy ws2.Range("A1")
ws2.Columns.AutoFit
Else
Set ws2 = Sheets(cell.Text)
Lc = Lastcol(ws2)
ws1.Columns(cell.Column).Copy ws2.Cells(1, Lc + 1)
End If
Next
End Sub


Function Lastcol(sh As Worksheet)
On Error Resume Next
Lastcol = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
On Error GoTo 0
End Function


Function SheetExists(SName As String, _
Optional ByVal WB As Workbook) As Boolean
'Chip Pearson
On Error Resume Next
If WB Is Nothing Then Set WB = ThisWorkbook
SheetExists = CBool(Len(WB.Sheets(SName).Name))
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
thanks a lot man, i really appreciate it.

"Ron de Bruin" wrote:

Ahhaaaa

I will make a example for you this evening

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
yes, there are 3 salesmen, each one has about 30 jobs

"Ron de Bruin" wrote:

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve

















  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default new sheet

This is working in the workbook you send me Steve
You have the names in Row 57

Sub test()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Lc As Long

Set ws1 = ActiveSheet
For Each cell In ws1.Range("J57:IV57").SpecialCells(xlConstants)
If SheetExists(cell.Value) = False Then
Set ws2 = Sheets.Add
On Error Resume Next
ws2.Name = cell.Value
On Error GoTo 0
ws1.Columns(cell.Column).Copy ws2.Range("A1")
ws2.Columns.AutoFit
Else
Set ws2 = Sheets(cell.Value)
Lc = Lastcol(ws2)
ws1.Columns(cell.Column).Copy ws2.Cells(1, Lc + 1)
End If
Next
End Sub


Function Lastcol(sh As Worksheet)
On Error Resume Next
Lastcol = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
On Error GoTo 0
End Function


Function SheetExists(SName As String, _
Optional ByVal WB As Workbook) As Boolean
'Chip Pearson
On Error Resume Next
If WB Is Nothing Then Set WB = ThisWorkbook
SheetExists = CBool(Len(WB.Sheets(SName).Name))
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"Ron de Bruin" wrote in message ...
Hi Steve

For example :
It will copy all columns with Dave in ws1.Range("B2:IV2") to the same sheet.

Send me a small test workbook private and I look at it for you

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
it's creating a seperate sheet for every column

"Ron de Bruin" wrote:

OK try this tester, copy the macro and both functions in a normal module.
Let me kmow if this is working for you

Sub test()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Lc As Long

Set ws1 = ActiveSheet
For Each cell In ws1.Range("B2:IV2").SpecialCells(xlConstants)
If SheetExists(cell.Value) = False Then
Set ws2 = Sheets.Add
On Error Resume Next
ws2.Name = cell.Value
On Error GoTo 0
ws1.Columns(cell.Column).Copy ws2.Range("A1")
ws2.Columns.AutoFit
Else
Set ws2 = Sheets(cell.Text)
Lc = Lastcol(ws2)
ws1.Columns(cell.Column).Copy ws2.Cells(1, Lc + 1)
End If
Next
End Sub


Function Lastcol(sh As Worksheet)
On Error Resume Next
Lastcol = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
On Error GoTo 0
End Function


Function SheetExists(SName As String, _
Optional ByVal WB As Workbook) As Boolean
'Chip Pearson
On Error Resume Next
If WB Is Nothing Then Set WB = ThisWorkbook
SheetExists = CBool(Len(WB.Sheets(SName).Name))
End Function


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
thanks a lot man, i really appreciate it.

"Ron de Bruin" wrote:

Ahhaaaa

I will make a example for you this evening

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
yes, there are 3 salesmen, each one has about 30 jobs

"Ron de Bruin" wrote:

Hi Steve

Do you have duplicate names in row 2 ?

--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
this code started creating a bunch of sheets. there's only 3 different
salesman. i need it to go through row 57 and filter out the salesman by
name. i should end up with three sheets.

thanks for your help ron


"Ron de Bruin" wrote:

Hi Steve

Try this one on a copy of your workbook

Sub test()
Dim WSNew As Worksheet
Dim Mysheet As Worksheet
Set Mysheet = ActiveSheet
For Each cell In Range("B2:IV2").SpecialCells(xlConstants)
Set WSNew = Worksheets.Add
On Error Resume Next
WSNew.Name = cell.Value
If Err.Number 0 Then
MsgBox "Change the name of : " & WSNew.Name & " manually"
Err.Clear
End If
Mysheet.Columns(cell.Column).Copy WSNew.Range("A1")
Next
End Sub


--
Regards Ron de Bruin
http://www.rondebruin.nl


"steve" wrote in message ...
i did not create the worksheet i am working with. The data is organized so
the headings are by row, not column. For example:


A B C
1 Commision % 8.2 9.3
2 Sales Rep dave bill
3 Job # 1 2


I need to go through row 2, and make a sheet for each salesman. but it
needs to copy the whole column with it. most sheets are set up so these
would be the column headings. i don't want to reorganize the sheet by
transposing the data, but something like that could be hidden in the code if
need be. i'm stuck. so i'd appreciate any help.

THANKS,
Steve

















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
excel sheet bootom half sheet goes behind top part of sheet rob Excel Worksheet Functions 2 January 17th 09 01:28 AM
Duplicate sheet, autonumber sheet, record data on another sheet des-sa[_2_] Excel Worksheet Functions 0 May 8th 08 06:56 PM
How do I select price from sheet.b where sheet.a part no = sheet.b Sonny Excel Worksheet Functions 4 April 4th 06 05:08 PM
relative sheet references ala sheet(-1)!B11 so I can copy a sheet. RonMc5 Excel Discussion (Misc queries) 9 February 3rd 05 12:51 AM
Inserting a row in sheet A should Insert a row in sheet B, removing a row in Sheet A should remove the corresponding row in sheet B Hannes Heckner Excel Programming 1 March 5th 04 09:10 AM


All times are GMT +1. The time now is 09:23 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"