2017-02-23 1 views
-1

J'ai donc la formule suivanteComment obtenir le nom de la variable la plus haute valeur dans un tableau

Dim A as integer  
Dim B as integer 
Dim C as integer 
Dim D as integer 
Dim E as integer 
Dim F as integer 

A=1 
B=2 
C=3 
D=4 
E=5 
F=6 

MaxValue = Application.Max(A,B,C,D,E,F) 

Je dois obtenir le nom de la variable dont la valeur est la plus élevée (F)

Je vais obtenir la valeur maximum dans la variable MaxValue, So MaxValue sera égale à 6. Mais comment puis-je obtenir la valeur de la variable?

Signification, comment puis-je obtenir le "F"?

Merci

+0

Pourquoi avez-vous besoin du nom d'une variable? Je suppose que vous avez besoin d'une sorte de recherche, mais savoir exactement ce que vous essayez d'accomplir vous donnera probablement une meilleure réponse. – Comintern

+3

'MaxValue = WorksheetFunction.Max (A, B, C, D, E, F)' – ManishChristian

+0

J'essaie de faire une action basée sur qui est la valeur la plus élevée. Donc, fondamentalement, faites quelque chose comme. 'Si variableRetunr est A alors écrivez cette variable fRetunr est A alors écrivez ceci ....' –

Répondre

1

D'accord avec @BruceWayne ce ike soundsl un problème XY mais:

Dim arrNames, arrVals, m 

arrNames = Array("A", "B", "C") 
arrVals = Array(1, 3, 2) 

m = Application.Match(Application.Max(arrVals), arrVals, 0) 

Debug.Print arrNames(m - 1) 'm is 1-based 

est probable que vous n'êtes pas coder en dur les valeurs réelles dans votre question (si tel était le cas vous connaissez la réponse avant d'exécuter le code ...) mais vous obtenez les valeurs d'ailleurs, il serait donc utile d'expliquer ce qu'est votre tâche réelle.

+0

Merci, Il est bon de voir qu'il y a toujours quelqu'un qui comprend les problèmes des autres . Merci encore –

+0

Je pense que c'est un peu peu charitable pour les autres personnes qui ont répondu à votre question. Le problème était que la question semblait présenter une situation improbable et demander une résolution - la plupart des gens qui répondent aux questions ici en savent assez pour essayer de comprendre le cas d'utilisation * réel * avant de fournir une solution. –