LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,718
Default Multiple Ranges - Same Worksheet

The following should help-

You should assign names to each of the color ranges rather than using cell
addresses so you can insert rows, etc. and not have rewrite your code. I'm
assuming you have ranges named "Rg1", "Rg2", etc

Also you have to code for users changing more than one cell at a time, like
by using Ctrl-Enter. Each cell could be in a different range...

Private Sub Worksheet_Change(ByVal Target As Range) ''Don't change the std
header
Dim iColor As Integer
Dim Cell As Range
For Each Cell In Target
If Not Intersect(Cell, Range("Rg1")) Is Nothing Then
Select Case Cell.Value
Case Is = 1
iColor = 44
Case 0.98 To 0.9999
iColor = 16
Case 0.96 To 0.9799
iColor = 53
Case 0.9 To 0.9599
iColor = 6
Case Is < 0.9
iColor = 3
Case Else
iColor = 0
End Select
Cell.Interior.ColorIndex = iColor
ElseIf Not Intersect(Cell, Range("Rg2")) Is Nothing Then
Select Case Cell.Value
''add new table...
Case Is = 1

Case Else
iColor = 0
End Select
Cell.Interior.ColorIndex = iColor
ElseIf Not Intersect(Cell, Range("Rg3")) Is Nothing Then
''....
End If
Next
End Sub



--
Jim
"Walter" wrote in message
...
|I am new to VBA. I have 6 named ranges which are columns of data. When
the
| user enters a percentage in column C, 1 of the 5 colors appear denoting
| status. I have the following Select Case statement that works well for
| column C:
|
| Private Sub Worksheet_Change(ByVal BESTDel As Range)
| Dim icolor As Integer
| If Not Intersect(BESTDel, Range("$C$2:$C$26")) Is Nothing Then
| Select Case BESTDel
| Case Is = 1#
| icolor = 44
| Case 0.98 To 0.9999
| icolor = 16
| Case 0.96 To 0.9799
| icolor = 53
| Case 0.9 To 0.9599
| icolor = 6
| Case Is < 0.9
| icolor = 3
| Case Else
| icolor = 0
| End Select
| BESTDel.Interior.ColorIndex = icolor
| End If
| End Sub
|
| Now I want to do the same thing for the other ranges of data in Column D,
E,
| F, and G. However, the Case statement is different for the range of
values
| for each color. My next named range for Column D is BESTQual. The inner
| part for this range will be:
|
| Case Is = 1#
| icolor = 44
| Case 0.9980 To 0.9999
| icolor = 16
| Case 0.9955 To 0.9979
| icolor = 53
| Case 0.98 To 0.9954
| icolor = 6
| Case Is < 0.98
| icolor = 3
| Case Else
| icolor = 0
|
| Each column will have different data values for the same colors but each
| column is different criteria that is being looked at. The user inputs a
| number and a color appears depending upon which Case statement applies.
If
| you need more info let me know. Thanks!


 
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
Combine multiple ranges into one worksheet Troy Man Excel Discussion (Misc queries) 1 September 30th 08 05:57 AM
Multiple worksheet named ranges to PDF Cresta Excel Programming 0 December 3rd 07 03:36 PM
Printing multiple ranges on one worksheet Pivot Novice Excel Discussion (Misc queries) 4 April 10th 06 11:05 PM
How do I auto-filter multiple ranges on one worksheet? AREV Excel Worksheet Functions 3 February 14th 05 09:50 PM
Multiple Print Ranges on one Worksheet Willis Excel Worksheet Functions 2 December 16th 04 10:33 AM


All times are GMT +1. The time now is 08:16 PM.

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"