Re: Select Column based on Sheet Name by Bugaboo
Bugaboo
Thu May 08 14:51:00 CDT 2008
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" <Bugaboo@discussions.microsoft.com> wrote in message
> > > news:59044C1F-1C2A-42E8-A1B6-27109C53E197@microsoft.com...
> > >
> > > >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
>