2016-06-06 24 views
1

Ich versuche, den Maximalwert in einer Anzahl von Zellen zu finden und diesen Wert in eine andere Zelle zu kopieren. Ich würde mich freuen, wenn Sie mir helfen könnten, weil ich viele Dinge ausprobiert habe und keiner von ihnen funktioniert hat.Suchen Sie den Maximalwert in einer Anzahl von Zellen und kopieren Sie diesen Wert in eine andere Zelle

Hier ist mein Code:

Dim ROIrange As Range 
Dim ROImax As Integer 
For i = 1 To 30 
     ROIrange = Range("E" & (i + 4), "H" & (i + 4), "K" & (i + 4), "N" & (i + 4), "Q" & (i + 4), "T" & (i + 4), "H" & (i + 4)).Select 
     ROImax = Application.WorksheetFunction.Max(ROIrange) 
     Range("B" & (i + 4)).Value = ROImax 
     Next 

ich zwei Probleme:

  1. Jedes Mal, wenn ich es starten, wird das Programm sagt: enter image description here

und unterstreicht die Bereich hier :

ROIrange = Range("E"... 

(FEHLERBEHEBUNG Ich habe das nicht funktioniert - fühlen Sie sich frei zu überspringen) diese

In meinem Versuch zu lösen, änderte ich die Anzahl der Werte, die ich im Bereich Funktion 7-2. Diese Änderung ermöglicht es dem Programm, weiter voranzukommen, aber es endet mit der Auswahl einer Box, die nicht das ist, was ich möchte, weil das die Auswahl anderer Zellen beinhaltet, die ich nicht evaluieren möchte.

Doch auch dieses Programm lief in ein Problem - ich dachte, das war wahrscheinlich, weil die erste Reihe komplett leer ist (wie bei dem Datensatz auftreten werde ich mit manchmal bin zu arbeiten und ist unvermeidbar)

jedoch Ich änderte es, um mit i = 2 zu beginnen, das auf eine Reihe verweist, die zufällig Daten hat. Dieses einfach zu diesem Fehler geführt:

enter image description here

+2

Entfernen Sie die '.Select' vom Ende. –

+2

Und verwenden Sie das Schlüsselwort 'Set' am Anfang:' Set ROIrange = Bereich ("E" & (i + 4), "H" & (i + 4), "K" & (i + 4), " N "& (i + 4)," Q "& (i + 4)," T "& (i + 4)," H "& (i + 4))' –

+0

Danke Scott. Du bist immer sehr hilfsbereit. Ich werde es versuchen. –

Antwort

4

Bitte versuchen Sie dies:

Set ROIrange = Range("E" & (i + 4) & ",H" & (i + 4) & ",K" & (i + 4) & ",N" & (i + 4) & ",Q" & (i + 4) & ",T" & (i + 4) & ",W" & (i + 4)) 

Stellen Sie den Bereich von Zellen zusammen als eine einzige Zeichenfolge.

+0

Super! Das hat es perfekt funktioniert! –

+0

Ich sehe jetzt auch wo ich falsch lag. –