View Single Post
  #10   Report Post  
Posted to microsoft.public.excel.programming
JLGWhiz JLGWhiz is offline
external usenet poster
 
Posts: 3,986
Default Macro to select a variable range

I see you worked the starting row out. This will color the
entire range yellow. It is difficult to solve the starting row problem
because the information you have provided to describe the sheet
contents is a little ambiguous. Howeve, if you have no data on the
except in columns D through N, then it is possible to define the
starting row with the UsedRange property. Then you could use
the code below to get the range and color it yellow.

Dim DlstRow As Long, Rw1st As Long
Rw1st = ActiveSheet.UsedRange.Row
DlstRow = Cells(Rows.Count, 4).End(xlUp).Row
Set myRange = Range("D" & Rw1st & ":N" & DlstRow)
cRng = myRange.Address
Range(cRng).Interior.ColorIndex = 6
End With

However, If you have any data in any row above the range you want to color
code, then the code above will fail for your purposes. But, if you want to
think about it a while and start a new thread with a good descriprion of what
you are working with, and what you are trying to do, someone will help you to
do it.


"Elmtree" wrote:

I've made some changes, however 1 thing eludes me, The starting Row.For my
example I assume starting on row 29.

-------

Dim DlstRow As Long
DlstRow = Cells(Rows.Count, 4).End(xlUp).Row
Set myRange = Range("D29:N" & DlstRow) 'Get current range
' MsgBox myRange.Address 'Display current range address

Range(myRange.Address).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With

Set myRange = Range("D29:D" & DlstRow) 'Get current range

Range(myRange.Address).Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With

-------

This macro selects my range, colors it yelow, then goes to column D and
unhighlights it. All works like I need it to, but the starting row is my
problem. I can live with starting on row 29. (For now!)

thanks for your assistance!!!!!


Mike

Elmtree wrote:
Set myRange = Range("D1:N" & DlstRow)

I do not start at Row 1.

Mike

OK, let me throw a curve:

[quoted text clipped - 7 lines]

Mike