MrExcel Message Board

Go Back   MrExcel Message Board > Question Forums > Excel Questions

Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only.

Reply
 
Thread Tools Display Modes
Old May 23rd, 2002, 03:33 PM   #1
Magnus575
New Member
 
Join Date: May 2002
Posts: 3
Default

I am trying to find a way to do conditional color formatting for more than 3 conditions using Excel 97. I tried to write a function that would take in a cell reference and a color index number and the function would change the color of the cell referenced with the color that corresponds with the passed index number. For some reason the function did not work but a subprocedure written exactly the same did work. I need this to be a user defined worksheet function however. Does anyone know of a way to accomplish this?
Magnus575 is offline   Reply With Quote
Old May 23rd, 2002, 03:38 PM   #2
sen_edp
Board Regular
 
sen_edp's Avatar
 
Join Date: Mar 2002
Location: Hellas
Posts: 553
Default


take a look

http://www.mrexcel.com/board/viewtop...orum=2&start=0

It Might help


__________________
Best Regards
Andreas
sen_edp is offline   Reply With Quote
Old May 23rd, 2002, 04:01 PM   #3
Magnus575
New Member
 
Join Date: May 2002
Posts: 3
Default

I have no problem writing my own sub procedure for changing cell back ground colors. I'm running into a problem getting a user-defined function for changing a cells background color to work. I really need the change to be transparent to the user so that when their input values trigger a color change it is automatic, that is they don't have to go and run a subprocedure to take care of the comparisons and color changes. I could use event-handling procedures in my application but a simple user-defined color change function would be a lot easier and cleaner. Plus it is now bothering me that I can't get the function to work. As an experiment try a user-defined function such as the following:

function colorchange()
activesheet.range("a1").interior.colorindex = 36
End Function

Considering I typed in the code right here, when I call this function from any cell in the worksheet it should change the background color of cell A1 to the corresponding index color for 36 which I think is a yellowish color. This however does not work. If I write a similar sub procedure:

sub colorchange()
activesheet.range("a1").interior.colorindex = 36
End Sub

When the sub procedure is executed the background color of cell A1 is indeed changed like expected. Does excel not allow you to change a cells background color through a function?
Magnus575 is offline   Reply With Quote
Old May 24th, 2002, 02:17 PM   #4
sen_edp
Board Regular
 
sen_edp's Avatar
 
Join Date: Mar 2002
Location: Hellas
Posts: 553
Default

hello Magnus

You have to understand that a user defined function cannot make changes in the cells or in the worksheet.
A function cannot change the color of a cell,
the only thing can do is to calculate and return a value , a result.
That's why everyone choose vba to do the conditional formatting with more than three criteria .

Hope that helps



__________________
Best Regards
Andreas
sen_edp is offline   Reply With Quote
Old May 25th, 2002, 01:31 PM   #5
Jack in the UK
Board Regular
 
Join Date: Feb 2002
Posts: 3,064
Default

This will do as you wish your need to edit the code a bit, to your needs but its all there.

Hope this is OK
Let me know if you need help the code is all commented to help you edit.


Sub Rows_Color() ' Written by Jack in the UK 21 May 2002
On Error GoTo JACKintheUK
' Jack set error handle
Sheets("B W").Select
' Jack selets the required sheet
' Jack change as needed
Range("A1:R500").Select
'Jack select the required range
Selection.Interior.ColorIndex = xlNne
' Jack removes any colours in the above range
Range("A1").Select
' Jack hey i choose a cell
Application.ScreenUpdating = False
'Jack removes screen updates FASTER code this way
JACK = 1
' Jack sets Jack = 1
'>>>>>>>>>>>>>>>>>>>>
' Jack says Red you would like for a YES????
With Sheets("B W") 'Jack in the UK
For YES = 1 To WorksheetFunction.CountIf(.Columns("B:B"), "YES")
Set RYESFoundCell = .Columns("B:B").Find(What:="YES", _
After:=.Cells(JACK, 2))
RYESFoundCell.EntireRow.Interior.ColorIndex = 4
'1= black 2= white 3= red 4=lime green 5= blue 6= yellow
JACK = RYESFoundCell.Row
Next YES
End With
'>>>>>>>>>>>>>>>>>>>>>
' Jack says Red you would like for a YES????
With Sheets("B W") 'Jack in the UK
For N = 1 To WorksheetFunction.CountIf(.Columns("B:B"), "N")
Set RNFoundCell = .Columns("B:B").Find(What:="N", _
After:=.Cells(JACK, 2))
RYESFoundCell.EntireRow.Interior.ColorIndex = 3
JACK = RNFoundCell.Row
Next N
End With
'>>>>>>>>>>>>>>>>>>>>>
' Jack says Red you would like for a YES????
With Sheets("B W") 'Jack in the UK
For Maybe = 1 To WorksheetFunction.CountIf(.Columns("B:B"), "Maybe")
Set RMaybeFoundCell = .Columns("B:B").Find(What:="Maybe", _
After:=.Cells(JACK, 2))
RMaybeFoundCell.EntireRow.Interior.ColorIndex = 6
JACK = RMaybeFoundCell.Row
Next Maybe
End With
'>>>>>>>>>>>>>>>>>>>>>

Columns("C:IV").Select
Selection.Interior.ColorIndex = xlNne
' Jack rips the colour from the right (removes it)
' set as required
' (Dont really need (left in case) dirty who cares?

Application.Goto Reference:="R1C1"
'Jack returns to a cell in this case A1
'(can be any i guess)
Application.ScreenUpdating = True
' Jack sets updtes to live
JACKintheUK:
' Jack compleate error handle
End Sub

MARKER conditional format
MARKER 3 formats
__________________
Free Excel based Web Toolbar available here.

Jack in the UK
J & R Excel Solutions
"making Excel work for you"
Jack in the UK is offline   Reply With Quote
Old May 28th, 2002, 06:55 AM   #6
Magnus575
New Member
 
Join Date: May 2002
Posts: 3
Default

Thanks guys, I didn't realize that a function couldn't change a cells property. It makes sense though. Thanks for the ideas in the vba code example as well.
Magnus575 is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 01:25 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
All contents Copyright 1998-2012 by MrExcel Consulting.
diabetic desserts recipes recipes Diabetic Soups Holiday Pizza Recipes Popcorn Recipes Recipes For Microwave Pasta Recipes Casserole Recipes Chili Recipes Curry Recipes Crockpot Recipes Apples Recipes Bread Recipes Vegetarian Recipes Vegetable recipes Desserts Recipes Appetizers Ethnic Recipes Meat Dishes Barbecue Recipes Sauces Recipes Marinade Recipes Low Fat Recipes Frugal Gourmet Kitchen Classics Recipes On The Grill Cook Books Seafood Recipes Cajun Recipes Breads Low Fat Low Fat Breads Bread Machine Recipes Yeast Breads Quick Breads Fat Free Vegetarian Salad Recipes Eggplant Recipes Radish Recipes Tomato Recipes Jalapeno Recipes Potato Recipes Lettuce Recipes Cabbage Recipes Beans Ambrosia Recipes Biscotti Recipes Desserts Low Fat Cookie Recipes Cheesecake Recipes Cake Recipes Pie Recipes Muffin Recipes Custard Recipes Best Appetizers Appetizers Low Fat Salsa Recipes Dip Recipes International Recipes Afghan Recipes Alaska Recipes French Recipes German Recipes Greek Recipes Italian Recipes Spanish Recipes Thai Recipes Korean Recipes Chinese Recipes Mexican Recipes Indian Recipes Beef Recipes Pork Pork & Ham Pork Butts Pork Chop Recipes Pork Ribs Rulled Pork Poultry Recipes Stews Recipes Ground Beef Barbecue Grill Barbecue Smoker All Purpose Sauce BBQ Sauce Barbecue Sauce Carolina BBQ Sauce Pickle Recipes Marinades Smoking Low Fat Appetizers & Dips Low Fat Breakfast Low Fat Cakes Low Fat Cheesecakes Low Fat Cookies Low Fat Desserts Low Fat Fish & Seafood Low Fat Meats Low Fat Pasta Low Fat Pies Low Fat Salads Low Fat Sandwiches Low Fat Sauces & Condiments Low Fat Sides Low Fat Soups Low Fat Vegetarian Baker's Dozen Taste of Home Recipe Book Bon Appetit Cookbook Blacktie Cookbook Buster Cook Book Cookbook USA Cook Book Cook Book Sara's Cookbook Sara's Cookbook Appetizers and Dips Poultry recipes Diabetic recipes Holiday recipes Miscellaneous recipes 110 recipes 1986 Usenet cookbook 2900 recipes Cyberrealm recipes Great sysops of world Specialty recipes Ceideburg recipes Cheese recipes Chili recipes Fruits recipes Garlic recipes Great chefs of NY Londontowne recipes Raisins recipes Recipes for kids US Food Vegetarian recipes Bread recipes Drinks Meat Dishes Brisket recipes Caribou recipes Chicken recipes Filet mignons recipes Pork recipes Swordfish recipes Turkey recipes Pasta recipes Uncategorized recipes Ethnic recipes Canada recipes English recipes Ethiopia recipes Germany recipes Greece recipes Mexican recipes Philippines recipes Welsh recipes Microwave recipes Soups recipes Vegetable recipes Asparagus recipes Barley recipes Brown rice recipes Lentil recipes Mushrooms recipes Salads recipes Wild rice Desserts recipes Cakes recipes Chocolate recipes Cookies recipes Ice cream recipes