Startseite

Tabelleninhalte einlesen

Sub spalteninhalte_einlesen()
DIM inh(100)
z = 1
Do While Cells(z, 1)<>""
inh(z) = Cells(z, 1)
z = z + 1
Loop
z = z - 1
End Sub
Im linken Beispiel werden die Inhalte einer Spalte (A) ausgelesen und an die Variable inh(z) übergeben.

Im Rechten Beispiel wird der Inhalt einer kompletten Tabelle ausgelesen und an die Variable inh(z, sp) übergeben.

Die Inhalte der Variable können dann in eine andere Tabelle geschrieben werden. Dabei ist es auch möglich, Manipulationen vorzunehmen, zum Beispiel die Reihenfolge der Spalten verändern.
Sub tabelleninhalte_einlesen()
DIM inh(100, 20)
sp = 1
Do While Cells(1, sp) <> ""
z = 1
Do While Cells(z, 1) <> ""
inh(z, sp) = Cells(z, sp)
z = z + 1
Loop
sp = sp + 1
Loop
End Sub

Zeile Befehl Erläuterung Näheres
1 Sub tabelleninhalte_auslesen() Name des Makros. Kann wahlfrei festgelegt werden. Groß- und Kleinschreibung möglich.
Unterstrich zwischen den einzelnen Wörtern ist erforderlich!
 
2 DIM inh(100) Feldvariable Dimensionieren. Hier 100 Felder. Es müssen mindestens so viele Felder dimensioniert werden, wie Werte zu erwarten sind.  
3 z = 1 Startwert für Schleife. Hier Zeile 1  
4 Do While Cells(z, 1)<>"" Beginn der Schleife. Sie wird solange durchlaufen, bis eine Zelle ohne Inhalt gefunden wird.  
5 inh(z) = Cells(z, 1) Weist der Variable inh(z) die Werte zu.  
6 z = z + 1 Erhöht bei jedem Durchlauf den Zähler um den Wert 1  
7 Loop "Wendepunkt" für die Schleife. Solange die Bedingung in Zeile 4 erfüllt ist, erfolgt von hier ein neuer Schleifendurchlauf.  
8 z = z - 1 Korrektur des oben ermittelten Wertes, da der Schleifenzähler vor dem Wendepunkt liegt.  
9 End Sub Beendet das Makro