Ich benötige Eure Hilfe, da ich mich mit Arrays (noch) nicht auskenne. Erst mal ein Beispiel, wie die Daten in einer Tabelle stehen:
Bestand
A | |
1 | Artikel |
2 | Büchsenmilch |
3 | Filtertüten |
4 | Kaffee |
5 | Aufbackbaguettbrötchen |
6 | Aufbackbaguettes |
7 | Aufbackbrötchen dunkel |
8 | Aufbackbrötchen hell |
9 | Croissants |
10 | Graubrot |
11 | Knäckebrot |
12 | Scorpers |
13 | Sonnenblumenbrot |
14 | Toastbrot |
15 | Tosties |
16 | Sekt |
17 | Weiswein trocken |
18 | Gummibärchen |
19 | Kekse |
20 | Schokolade |
21 | Bratensoße groß |
22 | Essig |
23 | Essigessenz |
24 | Glas Hühnerbrühe |
25 | Glas Rinderbrühe |
26 | Jägersoße groß |
27 | MaggiFix Bolognese |
28 | MaggiFix ChilieConcane |
29 | MaggiFix Gulasch |
30 | Rahmsoße |
31 | Sonnenblumenöl Mzola |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Ich möchte nun die Daten aus Spalte A in ein Array schreiben und die Daten in diesem Array sortieren. Ich habe dazu auch ein schönes Beispiel von @Nepumuk hier im Archiv gefunden, was auch funktioniert, nur noch nicht für meine Bedürfnisse.
Modul Modul4 Option Explicit Option Base 0 'Deklaration eines Variant der das zusortierende Array aufnimmt. 'Das Array beinhaltet hier 16 Element (0 bis 15), wobei das erste 'als Hilfselement eingesetzt wird. Dim SortArr As Variant 'Diese Prozedur initialisiert das Array mit den unsortierten Werten. 'Das Hilfselement SortArr(0) wird mit 0 initialisiert. Sub Init_Arr(ByRef SortArr) SortArr = Array(0, 10, 3, 14, 5, 2, 13, 11, 9, 12, 1, 7, 15, 8, 4, 6) End Sub 'Die Sortier-Prozedur Insert_Sort setzt den Sortieralgortihmus um. Sub Insert_Sort(ByRef SortArr) Dim i As Integer, j As Integer, Element As Integer 'Durchlaufen der Array-Elemente mittels Schleife. For i = 2 To Ubound(SortArr) Element = SortArr(i) 'Hilfselement wird als Zwischenspeicher eingesetzt. SortArr(0) = Element j = i - 1 'Verschieben der Array-Elemente bis 'kleineres Array-Element gefunden. Do While Element < SortArr(j) SortArr(j + 1) = SortArr(j) j = j - 1 Loop 'Array-Element einfügen. SortArr(j + 1) = Element Next i End Sub 'Über diese Prozedur kann das Array zur Überprüfung ausgegeben werden. Sub ArrAusgabe(Text As String, ByRef SortArr) Dim i As Integer Dim SortArrStr As String SortArrStr = Text & SortArr(1) For i = 2 To 15 SortArrStr = SortArrStr & ", " & SortArr(i) Next i MsgBox SortArrStr End Sub 'Die Hauptprozedur führt die vorab aufgeführten Prozeduren aus. Sub Insert_Sort_Test() Call Init_Arr(SortArr) Call ArrAusgabe("Unsortiert: ", SortArr) Call Insert_Sort(SortArr) Call ArrAusgabe("Sortiert: ", SortArr) End Sub
[size=8]Code eingefügt mit [url=http://vbahtml.origo.ethz.ch] VBA in HTML 2.0.0.3[/url][/size]
Hier werden aber statische Daten in das Array eingelesen. Wie stelle ich es nun für dieses Beispiel an meine Daten aus Spalte A in das Array einzulesen und diese eingelesenen Daten dann in diesem Array sortieren zu lassen?
Ich würde mich über Hilfe wahnsinnig freuen.
Danke schon mal vorab,
Kasimir