2016-08-15 2 views
-3

Ich habe verschiedene Werte im Bereich c18: z18 Ich konnte die maximale Anzahl in diesem Bereich finden durch;Anzeige eines Zellenbereichs

Dim MX as double 
MX = worksheetfunction.max (sheets("sheet4").range ("c18:z18")) 

Ich möchte über der maximalen Zelle (mx) drei Zellen kopieren Sie einfach und fügen Sie sie in sheet1 sie dann als Ergebnis in Meldungsfeld angezeigt werden soll.

Vielen Dank.

+0

Was hast du bisher versucht? Der Code, den Sie uns gerade gegeben haben, versucht nichts, was Sie beschreiben, sondern nur den Maximalwert. Versuchen Sie es mit der '.Find' Methode gegen den Bereich und dann mit dem' .Offset' können Sie die 3 Zellen darüber bekommen ... –

+0

Cells.find (was: = "MX", nach: = activecell, lookin: = xp-Werte, lookat: = xlwhole, searchorder: = xlbycol umns, Suchrichtung: = xln ext, matchcase: = false, searchformat: = false) .activate – erdinc

+0

Der obige Befehl funktioniert nicht. Ich wollte die Zelle mit dem maximalen Wert aktivieren und nach oben ziehen, um die oben genannten Zellen auszuwählen. Aber ich konnte es nicht managen. – erdinc

Antwort

2
Dim MX as double, rng as range 

Set rng = sheets("sheet4").range ("c18:z18") 
MX = worksheetfunction.max (sheets("sheet4").range ("c18:z18")) 

'where is the max value ? 
Debug.Print rng.cells(application.match(MX, rng, 0)).address 

Um die oben genannten 3-Zellen zu erhalten:

Debug.Print rng.Cells(Application.Match(MX,rng,False)).Offset(-3).Resize(3).Address 

Wenn Sie das Entfernen .Address Sie es .Select kann (obwohl das im Allgemeinen ist zu vermeiden)

rng.Cells(Application.Match(MX,rng,False)).Offset(-3).Resize(3).Select 

Etc.

+0

Vielen Dank, ich habe den folgenden Code geschrieben, aber es funktioniert nicht – erdinc

+0

Cells.find (wha: = "MX", nach: = activecell, lookin: = xp Werte, lookat: = xlwhole, searchorder: = xlbycolumns, Suchrichtung: = xlnext, matchcase: = false, searchformat: = false) .activate – erdinc

+0

'wha' ist kein Parametername für Find(). Hast du den Ansatz versucht, den ich oben gepostet habe? –