Re: Array-Variable auf Inhalt prüfen
From: Thomas Ramel (t.ramel_at_MVPs.org)
Date: 04/29/04
- Next message: Carsten Ulinski: "Re: Eurotools dauerhaft abstellen A2002"
- Previous message: Monika Weber: "Re: Excel 2000 Vorlage-Datei"
- In reply to: Michael Schwimmer: "Re: Array-Variable auf Inhalt prüfen"
- Next in thread: Michael Schwimmer: "Re: Array-Variable auf Inhalt prüfen"
- Reply: Michael Schwimmer: "Re: Array-Variable auf Inhalt prüfen"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 29 Apr 2004 06:59:08 +0200
Grüezi Michael
Michael Schwimmer schrieb am 29.04.2004
>>> die Summenformel stimmt aber nur, wenn keine negativen Werte
>>> auftreten. Sonst können sich auch Werte ungleich 0 zu 0 addieren.
>> Das ist in der Tat richtig - und nur durch das prüfen der einzelnen
>> Werte wirklich auszuschliessen, womit wir wieder beim
>> For...Each-Verfahren angelangt wären sobald es sich um eine
>> undefinierte Anzahl von WErten im Array handelt.
>
> das folgende müsste funktionieren, wenn das Array nicht allzu viel
> Elemente enthält.
>
> Sub test()
> Dim vSpalte(1 To 5000) As Long
> 'vSpalte(5000) = 1
> If (Application.WorksheetFunction.Max(vSpalte) = 0) And _
> (Application.WorksheetFunction.Min(vSpalte) = 0) Then
> MsgBox "Alle Null"
> End If
> End Sub
Ja, das entspricht wieder meinem Denken, dass es nicht notwendig sein
sollte, die Felder einzeln zu durchlaufen. Es sind nun zwar zwei Funktionen
in Gebrauch, aber das dürfte immer noch schneller sein, als das Feld
abzuklappern.
> Unter XL 97 tritt bei mehr als ca. 5400 Elementen ein Fehler auf,
> übrigens auch bei AVERAGE, SUM, SUMIF etc.
Doofer Bug :-(
> Intern wird aber auch bei den Tabellenfunktionen eine Schleife benutzt.
Ja, das scheint soweit schon klar - wie sonst sollen die Werte geprüft
werden.
Doch wann immer eine interne Funktion zur Verfügung steht, ist sie bestimmt
schneller als wenn sie in VBA nachgebildet wird. Daher auch der Gedanke,
anstelle die Werte einzeln zu prüfen eine Ausweichmöglichkeit zu benutzen.
So können oft unter Einbezug der eingebauten Funktionen in Kombination mit
VBA sehr performante Lösungen gestrickt werden.
-- Mit freundlichen Grüssen Thomas Ramel - MVP für Microsoft-Excel - [Win 2000Pro SP-4 / xl2000 SP-3]
- Next message: Carsten Ulinski: "Re: Eurotools dauerhaft abstellen A2002"
- Previous message: Monika Weber: "Re: Excel 2000 Vorlage-Datei"
- In reply to: Michael Schwimmer: "Re: Array-Variable auf Inhalt prüfen"
- Next in thread: Michael Schwimmer: "Re: Array-Variable auf Inhalt prüfen"
- Reply: Michael Schwimmer: "Re: Array-Variable auf Inhalt prüfen"
- Messages sorted by: [ date ] [ thread ]