Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

vba code to determine largest of three variables

Posted on 2013-11-19
6
Medium Priority
?
322 Views
Last Modified: 2013-11-19
excel vba 2010

I have 3 variables:


cn1 = 3
cn2 = 7
cn3 = 2

Is there vba code that help determine which of these 3 variables is the largest ?
mid and them smallest?

so the outsome would be

cn2 = largest
cn1 = mid
cn3 = smallest





Thanks
fordraiders
0
Comment
Question by:Fordraiders
  • 3
  • 2
6 Comments
 
LVL 53

Accepted Solution

by:
Rgonzo1971 earned 2000 total points
ID: 39658646
Hi,

Pls try

Dim arrVar(1 To 3)
arrVar(1) = cn1
arrVar(2) = cn2
arrVar(3) = cn3

Biggest = WorksheetFunction.Large(arrVar, 1)
Middle = WorksheetFunction.Large(arrVar, 2)
Lowest = WorksheetFunction.Large(arrVar, 3)

Open in new window

Regards
0
 
LVL 49

Expert Comment

by:Martin Liss
ID: 39659945
Don't give me any points for this but what the 'Large' function that Rgonzo1971 cleverly used is doing is sorting the values from highest to lowest so with a 4th value you could do this.

Dim arrVar(1 To 4)
arrVar(1) = cn1
arrVar(2) = cn2
arrVar(3) = cn3
arrVar(4) = cn4

Biggest = WorksheetFunction.Large(arrVar, 1)
Middle = WorksheetFunction.Large(arrVar, 2)
Lowest = WorksheetFunction.Large(arrVar, 3)
LowerThanLowest = WorksheetFunction.Large(arrVar, 4)

Open in new window

0
 
LVL 3

Author Comment

by:Fordraiders
ID: 39660152
what declaration does
biggest
middle
lowest
lowerthan lowest get..

??

Thanks
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 3

Author Comment

by:Fordraiders
ID: 39660162
why would thid not work ?

if  the value of
cn1 = 3
cn2 = 7
cn3 = 2


why would this imple statement not work ?

If cn2 >= cn1 Or cn3 Then

??
0
 
LVL 49

Expert Comment

by:Martin Liss
ID: 39660181
what declaration does
biggest
middle
lowest
lowerthan lowest get..
It would depend on the data. For integers Long would be best or otherwise Double or Currency.

If cn2 >= cn1 Or cn3 Then
You would need to use a series of If Else's but you could do this
Select Case True
    Case cn1 > cn2 And cn1 > cn3
        Msgbox "cn1 is the largest"
    Case cn2 > cn1 And cn2 > cn3
        Msgbox "cn2 is the largest"
    Case cn3 > cn2 And cn3 > cn1
        Msgbox "cn3 is the largest"
Ens Select

Open in new window

0
 
LVL 3

Author Closing Comment

by:Fordraiders
ID: 39660557
Thanks all, Martinless,  Thanks for the additional help
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
How to get Spreadsheet Compare 2016 working with the 64 bit version of Office 2016
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question