Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 42
Default Need help with code.

What is wrong with this code? I keep getting a Type Mismatch error. I am
trying to match the words red, yellow and green which appear in 6 cells above
(lets say C37:C47). A cell below (C49) is to show the word red if in fact
'red' appears in any the 6 cells. However if the word red does not appear and
the word yellow appears I need the cell below to display the word yellow.
Also if the words red and yellow do not appear I need the word green to
appear in the cell below.

Any help would be greatly appreciated (still a greenhorn at this)


Private Sub CommandButton1_Click()

If Sheets("Form").Range("$C$37:$C$47").Value = "Red" Then
Sheets("Form").Range("$C$49").Value = "Red"
End If
If Sheets("Form").Range("$C$37:$C$47").Value = "Yellow" Then
Sheets("Form").Range("$C$49").Value = "Yellow"
End If
If Sheets("Form").Range("$C$37:$C$47").Value = "Green" Then
Sheets("Form").Range("$C$49").Value = "Green"
End If

End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,391
Default Need help with code.

Damien,
Depending on where your list of colours is coming from, here's one way:

Private Sub CommandButton1_Click()
Const AllColours As String = "Red,Yellow,Green"
Dim ColourValues As Variant
Dim RetVal As Long
Dim i As Long
On Error Resume Next
ColourValues = Split(AllColours, ",")
With Sheets("Form")
For i = 0 To UBound(ColourValues)
RetVal = Application.WorksheetFunction.Match(ColourValues(i ),
..Range("$C$37:$C$47"), 0)
If Err.Number = 0 Then
.Range("$C$49").Value = ColourValues(i)
Exit Sub
End If
Err.Clear
Next
.Range("$C$49").Value = "No Match"
End With
End Sub

Using Find or VLookUp would be similar.
You could achieve the same directly on the worksheet, with Match or VLookUp,
or write a UDF similar to the above, passing in 2 argument, rangetosearch,
rangeofcolors. e.g
Public Function MatchColour(argRangeToSearch As Range, argRangeOfColours As
Range) As String
....etc
then call it from the sheet in C49, assuming you colours in range("E1:E3")
=MatchColour(C37:C47,E1:E3)

Obviously, your list of colours have to arranged in the order of importance.

NickHK

"Damien" wrote in message
...
What is wrong with this code? I keep getting a Type Mismatch error. I am
trying to match the words red, yellow and green which appear in 6 cells

above
(lets say C37:C47). A cell below (C49) is to show the word red if in

fact
'red' appears in any the 6 cells. However if the word red does not appear

and
the word yellow appears I need the cell below to display the word yellow.
Also if the words red and yellow do not appear I need the word green to
appear in the cell below.

Any help would be greatly appreciated (still a greenhorn at this)


Private Sub CommandButton1_Click()

If Sheets("Form").Range("$C$37:$C$47").Value = "Red" Then
Sheets("Form").Range("$C$49").Value = "Red"
End If
If Sheets("Form").Range("$C$37:$C$47").Value = "Yellow" Then
Sheets("Form").Range("$C$49").Value = "Yellow"
End If
If Sheets("Form").Range("$C$37:$C$47").Value = "Green" Then
Sheets("Form").Range("$C$49").Value = "Green"
End If

End Sub



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 42
Default Need help with code.

Nick,

Thanks a million, the code works a treat!

"NickHK" wrote:

Damien,
Depending on where your list of colours is coming from, here's one way:

Private Sub CommandButton1_Click()
Const AllColours As String = "Red,Yellow,Green"
Dim ColourValues As Variant
Dim RetVal As Long
Dim i As Long
On Error Resume Next
ColourValues = Split(AllColours, ",")
With Sheets("Form")
For i = 0 To UBound(ColourValues)
RetVal = Application.WorksheetFunction.Match(ColourValues(i ),
..Range("$C$37:$C$47"), 0)
If Err.Number = 0 Then
.Range("$C$49").Value = ColourValues(i)
Exit Sub
End If
Err.Clear
Next
.Range("$C$49").Value = "No Match"
End With
End Sub

Using Find or VLookUp would be similar.
You could achieve the same directly on the worksheet, with Match or VLookUp,
or write a UDF similar to the above, passing in 2 argument, rangetosearch,
rangeofcolors. e.g
Public Function MatchColour(argRangeToSearch As Range, argRangeOfColours As
Range) As String
....etc
then call it from the sheet in C49, assuming you colours in range("E1:E3")
=MatchColour(C37:C47,E1:E3)

Obviously, your list of colours have to arranged in the order of importance.

NickHK

"Damien" wrote in message
...
What is wrong with this code? I keep getting a Type Mismatch error. I am
trying to match the words red, yellow and green which appear in 6 cells

above
(lets say C37:C47). A cell below (C49) is to show the word red if in

fact
'red' appears in any the 6 cells. However if the word red does not appear

and
the word yellow appears I need the cell below to display the word yellow.
Also if the words red and yellow do not appear I need the word green to
appear in the cell below.

Any help would be greatly appreciated (still a greenhorn at this)


Private Sub CommandButton1_Click()

If Sheets("Form").Range("$C$37:$C$47").Value = "Red" Then
Sheets("Form").Range("$C$49").Value = "Red"
End If
If Sheets("Form").Range("$C$37:$C$47").Value = "Yellow" Then
Sheets("Form").Range("$C$49").Value = "Yellow"
End If
If Sheets("Form").Range("$C$37:$C$47").Value = "Green" Then
Sheets("Form").Range("$C$49").Value = "Green"
End If

End Sub




Reply
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
split post code (zip code) out of cell that includes full address Concord Excel Discussion (Misc queries) 4 October 15th 09 06:59 PM
Code to conditional format all black after date specified in code? wx4usa Excel Discussion (Misc queries) 3 December 26th 08 07:06 PM
Drop Down/List w/Code and Definition, only code entered when selec Spiritdancer Excel Worksheet Functions 2 November 2nd 07 03:57 AM
Create a newworksheet with VBA code and put VBA code in the new worksheet module ceshelman Excel Programming 4 June 15th 05 04:37 PM
stubborn Excel crash when editing code with code, one solution Brian Murphy Excel Programming 0 February 20th 05 05:56 AM


All times are GMT +1. The time now is 06:53 AM.

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"