Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10
Default Select Column based on Sheet Name

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Thanks for all your help. I use this site a lot.



  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 245
Default Select Column based on Sheet Name

Something like this i assume?

If ActiveSheet.Name = "Sheet1" Then
Columns("B").Select
End If

"Bugaboo" wrote:

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Thanks for all your help. I use this site a lot.



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10
Default Select Column based on Sheet Name

Something like that. What I am looking for is if the active sheet name is
"black" then select the column where the header name is black. I need it to
loop through all the sheets until are done.

"Office_Novice" wrote:

Something like this i assume?

If ActiveSheet.Name = "Sheet1" Then
Columns("B").Select
End If

"Bugaboo" wrote:

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Thanks for all your help. I use this site a lot.



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 245
Default Select Column based on Sheet Name

By Header you mean the first row in each column?

"Bugaboo" wrote:

Something like that. What I am looking for is if the active sheet name is
"black" then select the column where the header name is black. I need it to
loop through all the sheets until are done.

"Office_Novice" wrote:

Something like this i assume?

If ActiveSheet.Name = "Sheet1" Then
Columns("B").Select
End If

"Bugaboo" wrote:

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Thanks for all your help. I use this site a lot.



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10
Default Select Column based on Sheet Name

Yes.

"Office_Novice" wrote:

By Header you mean the first row in each column?

"Bugaboo" wrote:

Something like that. What I am looking for is if the active sheet name is
"black" then select the column where the header name is black. I need it to
loop through all the sheets until are done.

"Office_Novice" wrote:

Something like this i assume?

If ActiveSheet.Name = "Sheet1" Then
Columns("B").Select
End If

"Bugaboo" wrote:

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Thanks for all your help. I use this site a lot.





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 245
Default Select Column based on Sheet Name

Modify this to suit your needs. I think it will do what you want.

Sub YourProcName()
Dim wks As Worksheet
Dim i As Integer
For i = 1 To 3 ' <--How ever many sheet you have
With Worksheets(i)
.Activate
Set wks = ActiveSheet
Range("A1").Select
Do Until ActiveCell.Address = "$IV$1"
If wks.Name = ActiveCell.Value Then
ActiveCell.EntireColumn.Interior.ColorIndex = 6 '<--
Whatever you want to have happen
If wks.Name < ActiveCell.Value Then
ActiveCell.Offset(0, 1).Select
End If
End If
ActiveCell.Offset(0, 1).Select
Loop
End With
Next i
End Sub
'This code will loop through the top row of every sheet in a workbook and
hightlight the
'column if first cell in the column matchs the sheet name.



"Bugaboo" wrote:

Yes.

"Office_Novice" wrote:

By Header you mean the first row in each column?

"Bugaboo" wrote:

Something like that. What I am looking for is if the active sheet name is
"black" then select the column where the header name is black. I need it to
loop through all the sheets until are done.

"Office_Novice" wrote:

Something like this i assume?

If ActiveSheet.Name = "Sheet1" Then
Columns("B").Select
End If

"Bugaboo" wrote:

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Thanks for all your help. I use this site a lot.



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 32
Default Select Column based on Sheet Name

"Bugaboo" wrote in message
...

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?


Yes, and I'll show you how, but why not do it WHILE you're creating your
copies? Yoiu'll already know which column you're dealing with, and it'll
make the following code mostly unnecessary. By the way, "set the background
to gray" is vague, so I'm setting the fill color of entire column to gray.
If you want something more specific, give more specific requirements.

Dim sheetName As String
Dim x As Long

sheetName = ActiveSheet.Name

For x = 1 To 256 ' (Or however many header columns you have)
If ActiveSheet.Cells(1, x).Text = sheetName Then
ActiveSheet.Cells(1, x).EntireColumn.Interior.Color = RGB(192, 192,
192)
Exit Sub
End If
Next


  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10
Default Select Column based on Sheet Name

Jeff,

That would be great if I can get it to do it while creating the sheets. I'm
just not sure where it would go.

Here is the code I am using to create my sheets:

Sub DCreateNameSheets()

Dim wstemp As Worksheet
Dim Rng As Range
Dim ListRng As Range
Set wstemp = Worksheets("Transposed")
Set ListRng = Range(Range("B1"), Range("B1").End(xlToRight))
For Each Rng In ListRng
If Rng.Text < "" Then
wstemp.Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Rng.Text
End If
Next Rng
End Sub






"Jeff Johnson" wrote:

"Bugaboo" wrote in message
...

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?


Yes, and I'll show you how, but why not do it WHILE you're creating your
copies? Yoiu'll already know which column you're dealing with, and it'll
make the following code mostly unnecessary. By the way, "set the background
to gray" is vague, so I'm setting the fill color of entire column to gray.
If you want something more specific, give more specific requirements.

Dim sheetName As String
Dim x As Long

sheetName = ActiveSheet.Name

For x = 1 To 256 ' (Or however many header columns you have)
If ActiveSheet.Cells(1, x).Text = sheetName Then
ActiveSheet.Cells(1, x).EntireColumn.Interior.Color = RGB(192, 192,
192)
Exit Sub
End If
Next



  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Select Column based on Sheet Name

Each time you create a new worksheet, then that worksheet should have the column
that the was used for the name of the new worksheet.

If the name is in X1, then column X should be selected, right?

Option Explicit
Sub DCreateNameSheets()

Dim wsTemp As Worksheet
Dim Rng As Range
Dim ListRng As Range
Dim iCol As Long

Set wsTemp = Worksheets("Transposed")

With wsTemp
Set ListRng = .Range("B1", .Range("B1").End(xlToRight))
End With

For Each Rng In ListRng.Cells
If Rng.Text < "" Then
wsTemp.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Rng.Text
ActiveSheet.Columns(Rng.Column).Select
End If
Next Rng
End Sub


Bugaboo wrote:

Jeff,

That would be great if I can get it to do it while creating the sheets. I'm
just not sure where it would go.

Here is the code I am using to create my sheets:

Sub DCreateNameSheets()

Dim wstemp As Worksheet
Dim Rng As Range
Dim ListRng As Range
Set wstemp = Worksheets("Transposed")
Set ListRng = Range(Range("B1"), Range("B1").End(xlToRight))
For Each Rng In ListRng
If Rng.Text < "" Then
wstemp.Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Rng.Text
End If
Next Rng
End Sub

"Jeff Johnson" wrote:

"Bugaboo" wrote in message
...

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?


Yes, and I'll show you how, but why not do it WHILE you're creating your
copies? Yoiu'll already know which column you're dealing with, and it'll
make the following code mostly unnecessary. By the way, "set the background
to gray" is vague, so I'm setting the fill color of entire column to gray.
If you want something more specific, give more specific requirements.

Dim sheetName As String
Dim x As Long

sheetName = ActiveSheet.Name

For x = 1 To 256 ' (Or however many header columns you have)
If ActiveSheet.Cells(1, x).Text = sheetName Then
ActiveSheet.Cells(1, x).EntireColumn.Interior.Color = RGB(192, 192,
192)
Exit Sub
End If
Next




--

Dave Peterson
  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10
Default Select Column based on Sheet Name

Dave,

That is correct.



"Dave Peterson" wrote:

Each time you create a new worksheet, then that worksheet should have the column
that the was used for the name of the new worksheet.

If the name is in X1, then column X should be selected, right?

Option Explicit
Sub DCreateNameSheets()

Dim wsTemp As Worksheet
Dim Rng As Range
Dim ListRng As Range
Dim iCol As Long

Set wsTemp = Worksheets("Transposed")

With wsTemp
Set ListRng = .Range("B1", .Range("B1").End(xlToRight))
End With

For Each Rng In ListRng.Cells
If Rng.Text < "" Then
wsTemp.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Rng.Text
ActiveSheet.Columns(Rng.Column).Select
End If
Next Rng
End Sub


Bugaboo wrote:

Jeff,

That would be great if I can get it to do it while creating the sheets. I'm
just not sure where it would go.

Here is the code I am using to create my sheets:

Sub DCreateNameSheets()

Dim wstemp As Worksheet
Dim Rng As Range
Dim ListRng As Range
Set wstemp = Worksheets("Transposed")
Set ListRng = Range(Range("B1"), Range("B1").End(xlToRight))
For Each Rng In ListRng
If Rng.Text < "" Then
wstemp.Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Rng.Text
End If
Next Rng
End Sub

"Jeff Johnson" wrote:

"Bugaboo" wrote in message
...

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Yes, and I'll show you how, but why not do it WHILE you're creating your
copies? Yoiu'll already know which column you're dealing with, and it'll
make the following code mostly unnecessary. By the way, "set the background
to gray" is vague, so I'm setting the fill color of entire column to gray.
If you want something more specific, give more specific requirements.

Dim sheetName As String
Dim x As Long

sheetName = ActiveSheet.Name

For x = 1 To 256 ' (Or however many header columns you have)
If ActiveSheet.Cells(1, x).Text = sheetName Then
ActiveSheet.Cells(1, x).EntireColumn.Interior.Color = RGB(192, 192,
192)
Exit Sub
End If
Next




--

Dave Peterson



  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Select Column based on Sheet Name

The assumption I made is correct or the macro worked ok?

Or maybe both????

Bugaboo wrote:

Dave,

That is correct.

"Dave Peterson" wrote:

Each time you create a new worksheet, then that worksheet should have the column
that the was used for the name of the new worksheet.

If the name is in X1, then column X should be selected, right?

Option Explicit
Sub DCreateNameSheets()

Dim wsTemp As Worksheet
Dim Rng As Range
Dim ListRng As Range
Dim iCol As Long

Set wsTemp = Worksheets("Transposed")

With wsTemp
Set ListRng = .Range("B1", .Range("B1").End(xlToRight))
End With

For Each Rng In ListRng.Cells
If Rng.Text < "" Then
wsTemp.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Rng.Text
ActiveSheet.Columns(Rng.Column).Select
End If
Next Rng
End Sub


Bugaboo wrote:

Jeff,

That would be great if I can get it to do it while creating the sheets. I'm
just not sure where it would go.

Here is the code I am using to create my sheets:

Sub DCreateNameSheets()

Dim wstemp As Worksheet
Dim Rng As Range
Dim ListRng As Range
Set wstemp = Worksheets("Transposed")
Set ListRng = Range(Range("B1"), Range("B1").End(xlToRight))
For Each Rng In ListRng
If Rng.Text < "" Then
wstemp.Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Rng.Text
End If
Next Rng
End Sub

"Jeff Johnson" wrote:

"Bugaboo" wrote in message
...

I have a macro that will copy and add a sheet, and name it for each name in
the first row.

I now need to select the column in each sheet where the sheet name and
header name are the same and set the background to gray. The number of
columns and rows will vary.

Is this possible to do?

Yes, and I'll show you how, but why not do it WHILE you're creating your
copies? Yoiu'll already know which column you're dealing with, and it'll
make the following code mostly unnecessary. By the way, "set the background
to gray" is vague, so I'm setting the fill color of entire column to gray.
If you want something more specific, give more specific requirements.

Dim sheetName As String
Dim x As Long

sheetName = ActiveSheet.Name

For x = 1 To 256 ' (Or however many header columns you have)
If ActiveSheet.Cells(1, x).Text = sheetName Then
ActiveSheet.Cells(1, x).EntireColumn.Interior.Color = RGB(192, 192,
192)
Exit Sub
End If
Next




--

Dave Peterson


--

Dave Peterson
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
Select sheet based on cell value Boss Excel Programming 3 January 30th 08 02:55 PM
How do I select a cell based on the Column name Teresa K. Excel Programming 3 November 28th 06 11:02 PM
Select a column based on a index VH Excel Programming 5 March 6th 06 09:40 AM
Select sheet based on reference Hans Weustink[_4_] Excel Programming 11 January 11th 05 01:05 PM
Select sheet based on cell value Dan Mills Excel Programming 2 January 14th 04 05:55 PM


All times are GMT +1. The time now is 04:26 AM.

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"