Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variant Array verkleinern

Variant Array verkleinern
Axel
Hallo,
ich habe folgendes Problem: ich verwende in einem, relativ aufwendigen Skript mehrere Arrays, welche ich als Variant deklarieren musste. Nun muss ich aus einem Daten aussortieren.
Dies mache ich über eine Schleife welche den aktuellen Wert mit dem Nachfolger überschreibt. Allerdings verkürzt sich dadurch der Array.
'Fehlerhafte Werte aussortieren
For i = 1 To AnzahlZeilen
If Ergebnisarray(i + Zaehler, 1) = 99999 Then
Do While Ergebnisarray(i + Zaehler, 1) = 99999
Zaehler = Zaehler + 1
Loop 'Häufigkeit der 99999 in Folge
End If 'Finden der 99999
If i + Zaehler < AnzahlZeilen Then
Ergebnisarray(i, 1) = Ergebnisarray(i + Zaehler, 1)
For j = 1 To 7
Versuchsplan(i, j) = Versuchsplan(i + Zaehler, j)
Next
Else
ReDim Preserve Ergebnisarray(1 To (AnzahlZeilen - Zaehler), 1 To 1) 'Anpassen der Arraygröße
ReDim Preserve Versuchsplan(1 To (AnzahlZeilen - Zaehler), 1 To AnzahlSpalten)
i = AnzahlZeilen
End If 'Array Ende abschneiden, da leer
Next i 'Anzahl Versuche
Die ReDim Preserve Anweisung funktioniert hier leider nicht. Welche Möglichkeit habe ich sonst um die letzten Spalten des Arrays zu entfernen?
Gruß und Dank
Axel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Variant Array verkleinern
20.01.2010 12:22:41
Rudi
Hallo,
du kannst nur die letzte Dimension eines Arrays redimensionieren.
Transponieren-Redimensionieren-Transponieren.
Ergebnisarray=Worsheetfunction.Transpose(Ergebnisarray)
ReDim Preserve Ergebnisarray(1 To 1, 1 To (AnzahlZeilen - Zaehler))
Ergebnisarray=Worsheetfunction.Transpose(Ergebnisarray)
Gruß
Rudi
ungetestet.
20.01.2010 12:29:47
Tino
Hallo,
da man nur den rechten Teil Re- Dimensionieren kann,
kannst Du es mal versuchen dieses Array zu Transponieren (drehen)
Ergebnisarray = Application.Transpose(Ergebnisarray)
ReDim Preserve Ergebnisarray(1 To 1, 1 To (AnzahlZeilen - Zaehler)) 'Anpassen der Arraygröße
Ergebnisarray = Application.Transpose(Ergebnisarray)
ReDim Preserve Versuchsplan(1 To UBound(Versuchsplan), 1 To AnzahlSpalten)
Versuchsplan = Application.Transpose(Versuchsplan)
ReDim Preserve Versuchsplan(1 To AnzahlSpalten, 1 To (AnzahlZeilen - Zaehler))
Versuchsplan = Application.Transpose(Versuchsplan)
Oder erstelle zwei neue und fülle diese in einer Schleife.
Gruß Tino
Anzeige
AW: Variant Array verkleinern
20.01.2010 15:54:40
Axel
Danke, ich werden dann wohl einen zweiten Array aufmachen müssen.
Das hatte ich befürchtet -.-
Gruß und Dank
Axel
Noch 'n Array: na und? was soll's
20.01.2010 19:18:46
Rudi
Hallo,
ich weiß ja jetzt nicht, wie groß deine Arrays sind aber Ich habe letztens 16MB TAB-getrennte .txt auf nem Pentium4 mit 512MB RAM in Arrays verarbeitet. Das ist nichts kritisches.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige