Sub Tester1()
Dim rng As Range, rng1 As Range
Dim rng2 As Range, cell As Range
Set rng = ActiveSheet.Range(ActiveSheet.PageSetup.PrintArea)
Set rng1 = rng.Rows(1).Cells
Set rng2 = rng.Columns(1).Cells
For j = rng1(1).Column To rng1(rng1.Count).Column - 5
For i = rng2(1).Row To rng2(rng2.Count).Row
Set cell = Cells(i, j)
cell.Interior.ColorIndex = 3
Next i, j
End Sub
--
Regards,
Tom Ogilvy
"mcphc" wrote:
> Thanks for the help guys but not quiet what I was looking for.
>
> The problem is the print area is always different so it could be
>
> For col= 1 to 52
>
> or
>
> For col = 1 to 30
>
> I need something like
>
> For col= 1 to PrintAreaEdge
>
> where PrintAreaEdge is the last vertical column number (ie 52 not letter
> "AZ") in the print area.
>
> Using the below
>
> For Each a In Range("print_Area")
> MsgBox a
> Next
>
> is close but I actually only want to search a few columns within the print
> area
> ie
>
> For col = 1 to PrintAreaEdge - 5
>
> Thanks
>
> "Jason Lepack" wrote:
>
> > public sub mcphc()
> > dim r as integer, c as integer
> > ' rows 1 to 57
> > for r = 1 to 57
> > ' columns A to AZ
> > for c = 1 to 52
> > ' Print value of cell in immediate window
> > debug.print cells(r,c)
> > next c
> > next r
> > end sub
> >
> > Cheers,
> > Jason Lepack
> >
> > On Jan 30, 7:08 am, mcphc <m...@discussions.microsoft.com> wrote:
> > > I use the below to get the vertical edge of the print area.
> > >
> > > Range("Print_Area").Address
> > >
> > > The output of this is something like "$A$:1$AZ$57".
> > >
> > > I would like to run a macro that checks each cell in a row from column "A"
> > > to (as in the above) column "AZ"
> > >
> > > I would like to use something like
> > >
> > > For col = 1 to 52
> > >
> > > How do you represent AZ as 52? Or is there a better way of doing this? (I'm
> > > sure there is)
> >
> >
|