hummel85
Goto Top

Mit einer Batch eine Excel Tabelle auslesen.

Hallo,

ich hab schon wieder die nächste Frage zu einer Batch. Ist es möglich bestimmte bereiche aus einer Excel Tabelle mittels batch auszulesen? Also nur zur Info für euch. Ich habe eine Excel Tabelle( es sind immer verschiedene aber der Aufbau an sich ist immer gleich). Will dort einige Daten auslesen die ich dann weiter verarbeiten kann.

Vielen Dank im Voraus.

Content-Key: 32784

Url: https://administrator.de/contentid/32784

Printed on: April 18, 2024 at 19:04 o'clock

Member: gogoflash
gogoflash May 18, 2006 at 11:15:45 (UTC)
Goto Top
Hi,

mit Excel wirds schwierig, aber als *.csv Datei. Sollte es gehen. Excel bietet das Format an.Spalten werden dann mit Semikon getrennt.
Oder *.prn

Schau Dir mal beides an.


Gruß Miguel
Member: Hummel85
Hummel85 May 18, 2006 at 11:41:16 (UTC)
Goto Top
Hi gogoflash,

vielen dank für die schnelle Antwort war vor allem sehr hilfreich. also mit *.csv kann ich schon was anfangen aber mit *.prn leider nicht. Aber eines reicht ja auch. Jetzt brauch ich nur noch eine Möglichkeit bestimmte bereiche aus dieser *.csv( ist ja nicht mehr als eine Textdatei) auszulesen und in meine Batch zu übertragen.

Vielen dank noch mal. Wenn jemand ein schnellen weg kennt wie ich die Daten aus der *.csv auszulesen, kann das hier gleich Posten.
Member: gogoflash
gogoflash May 18, 2006 at 11:43:21 (UTC)
Goto Top
Hi,

dann musst Du schon sagen, wie zu auf die einzelnen Bereiche zugreifen willst.
Suchen nach Stichwörtern. In Zeile oder Spalte gehen?

Sag mal wie Du es Dir vorstellst.

Als Beispiel:
Für eine Tabelle mit 7 Spalten getrennt durch Semikolons (Auswertung ab der 2 Zeile)

for /f "skip=2 tokens=1,2,3,4,5,6,7 delims=;" %%a in (p.csv) do echo %%a >> excel.txt

Der Inhalt der ersten Spalte wird ausgelesen.

[EDIT: Ed geht auch
for /f "skip=2 tokens=1-7 delims=;" %%a in (p.csv) do echo %%a >> excel.txt

Nur für die erste Spalte
for /f "skip=2 tokens=1 delims=;" %%a in (p.csv) do echo %%a >> excel.txt

]


Gruß Miguel
Member: Hummel85
Hummel85 May 18, 2006 at 12:11:48 (UTC)
Goto Top
Sorry habe ich vergessen.

Also die Excel Tabelle exestiert schon muss aber noch umgebaut werden.

Ich habe mir das so vorgestellt.

14 Spalten( brauche aber nur 10 Spalten auslesen)
Anzahl der Zeilen kann variieren.( Aber 3 Zeilen gehören immer zusammen die ersten beiden Spalten gehören zu allen 3 Zeilen und die anderen 8 sind unterschiedlich kommen aber nicht Doppelt vor.)

1 2 3 4 5 6 7 8 9 10
* * *
* * * * *
* * * *

Also das ist ein Beispiel.

Die Infos in Spalte 1 & 2 sind immer Identisch ( bei den 3 zusammen hängenden zeilen)
Die restlichen sind immer individuell aber kommen niemals doppelt vor kann aber sein das überhaupt keiner ausgefüllt ist..

Ich hoffe das hilft dir weiter.
Member: gogoflash
gogoflash May 18, 2006 at 12:26:59 (UTC)
Goto Top
Hi,

mach es mal etwas konkreter. Du hast jetzt die Tabelle dargestellt. Wie soll es am Ende aussehen.

Etwas plastischer wäre nicht schlecht.


Gruß Miguel
Member: gogoflash
gogoflash May 18, 2006 at 13:15:17 (UTC)
Goto Top
Hi,

jetzt hab ich glaub ich gerafft. Wenn Du nachdem die 3er Gruppen ausgewertet wurden (gehören ja zusammen). Soll eine Aktion durchgeführt werden, dann auslesen der nächsten Dreiergruppen bis zum Ende ?


REM Achtung erste Zeile wird nicht ausgelesen, dort können die Tabelleninfos stehen
set /A "skip=1"

:main
set /A "zahl=0"
REM Beginn der für die 3erGruppen wird mit %Skip verschoben

for /f "skip=%skip% tokens=3,4,5,6,7,8,9,10 delims=;" %%a in (p.csv) do call :sub %%a %%b %%c %%d %%e %%f %%g %%h
:goto :eof

:sub

REM Wenn 3er Gruppe ausgewertet wird eine Aktion durchgeführt.
REM Hier eine Info in die Excel.txt

IF %Zahl%==3 goto :bofif
goto :eofif
:bofif

REM mach Irgendwas
echo 3er Gruppe zuende >> excel.txt
goto :main
:eofif

REM Hochzählen
set /A "Zahl+=1"
set /A "skip=skip+Zahl"

echo %1 >> excel.txt

:eof


Ist in erster Näherung zusammengeschrottet, aber als Denkansatz....


Gruß Miguel
Member: Hummel85
Hummel85 May 19, 2006 at 05:05:19 (UTC)
Goto Top
Guten Morgen gogoflash,

Danke für deine Hilfe. War sehr Hilfreich. Nur es funktioniert noch nicht so ganz( ich weiß sollte nur ein Denkansatz sein aber vielleicht hilfst du mir ja weiter).

Da ich bis jetzt noch nicht mit Schleifen gearbeitet habe( konnte mich jetzt davor drücken) weiß ich leider nicht wie ich die Schleife bearbeiten soll um zum gewünschten Ergebnisse zu kommen.

Hier noch ein paar Infos.

Meine p.csv sieht so aus( mit einem Texteditor geöffnet)

"SW
Typ";"SW-
Art";GS1;"GS2/
LS2";LS3;LS4;LS5;LS6;LS7;LS8
3;30;;;ge/bli;;;;;
;;;;;;gn/bli;;;
;;;;;;;;rt/bli;

Was ich daraus brauche ist.

3
30
ge/bli
gn/bli
rt/bli

Meine Textdatei soll so aussehen:

Typ 3
[Signal_1_Art_30]
ge/bli

[Signal_2_Art_30]
gn/bli

[Signal_3_Art_30]
rt/bli


Also Typ(3) ist klar.
Art(30) ist auch klar.
Farbe(rt/bli z.b.) ist denk ich mal auch klar.
Was ich auch noch brauche ist halt Signal.

Was ich vor allem mal brauch ist ein Tutorial wo Schleifen gut beschrieben sind. Wenn mir das noch jemand geben kann ist mein Tag gerettet.
Member: gogoflash
gogoflash May 20, 2006 at 14:11:02 (UTC)
Goto Top
Hi,


erstmal Teilantworten bis am Ende, ein Vorschlag von mir steht.

1) Signal_1 usw werden doch nur hochgezählt oder.

for /L %%i IN (1,1,3) DO echo Signal_%%i >> test.txt
Erzeugt in test.txt

signal_1
signal_2
signal_3

2)

for /F "tokens=1,2 delims=;" %%a in ('find "3" plt.txt') Do set typ=%%a && set art=%%b  

echo Typ %typ% >> test.txt	
for /L %%i IN (1,1,3) DO call :sub %%i
goto :eof
:sub  
  echo [Signal_%1_Art_%Art%] >> test.txt
:eof
erzeugt:
Typ 3
[Signal_1_Art_30]
[Signal_2_Art_30]
[Signal_3_Art_30]


3) Jetzt kommt es:

Innerhalb der Hochzählschleife, wird mit findstr (ge/bli; gn/bli; rt/bli) gesucht. findstr /N gibt die Zeilenzahl an, getrennt mit Doppelpunkt (ZB 5face-smile.
Durch das Hochzählen in der For Schleife wird %zahl% definiert. Diese legt fest welche Zeile zu betrachten ist, stimmt diese Zahl mit dem Überein, was findstr gefunden hat, wird entsprechend ge/bli usw ausgegeben. Es funktioniert auch dann noch wenn zb ge/bli doppelt vorkommt.
Die Spaltenzahl ist hier nicht wichtig, da über findstr durchgeschliffen. Das macht die Sache viel einfacher, da wir nicht mehr mit Spalten arbeiten müssen.
findstr /N "ge/bli" plt.txt' gibt mir die Zeilenzahl in der ge/bli vorkommt. Damit nicht die erstbeste ge/bli genommen wird (kann ja mehrmals vorkommen), wird %zahl% benötigt.

for /L %%i IN (1,1,3) DO call :sub %%i
goto :eof
:sub  
  echo [Signal_%1_Art_%Art] >> test.txt
  set /A "zahl=%1+4"  
  for /F "delims=:" %%a in ('findstr /N "ge/bli" plt.txt') Do IF %%a==%zahl% echo ge/bli >> test.txt  
  for /F "delims=:" %%a in ('findstr /N "gn/bli" plt.txt') Do IF %%a==%zahl% echo gn/bli >> test.txt  
  for /F "delims=:" %%a in ('findstr /N "rt/bli" plt.txt') Do IF %%a==%zahl% echo rt/bli >> test.txt  
:eof
4) Alles Zusammen (es kommt noch schlimmer unter 6):

REM ---------------------- Snipp ---------------------------------------

REM Header der Tabelle
REM Zahl der Zeilen die nicht ausgewertet werden.

set /A "header=4"  
set datei=plt.txt
set output=test.txt

REM Hochzählvariable
set /A "zahl=0"  

REM TYP und Art bestimmen
for /F "tokens=1-2 delims=;" %%a in ('find "3" %datei%') Do set typ=%%a && set art=%%b  
echo Typ %typ% >> %output%

REM Signalnummer und Farben reinziehen	
for /L %%i IN (1,1,3) DO call :sub %%i
goto :eof
:sub  
  echo [Signal_%1_Art_%Art%] >> %output%
  set /A "zahl=%1+%header%"  

REM Suchen der einzelnen Farben, Ausgabe der Zeilenzahl und prüfen ob es mit dem
REM Counter übereinstimmt

  for /F "delims=:" %%a in ('findstr /N "ge/bli" %datei%') Do IF %%a==%zahl% echo ge/bli >> %output%  
  for /F "delims=:" %%a in ('findstr /N "gn/bli" %datei%') Do IF %%a==%zahl% echo gn/bli >> %output%  
  for /F "delims=:" %%a in ('findstr /N "rt/bli" %datei%') Do IF %%a==%zahl% echo rt/bli >> %output%  
:eof


REM ---------------------- Snapp ---------------------------------------

Erzeugt:
Typ 3
[Signal_1_Art_30]
ge/bli
[Signal_2_Art_30]
gn/bli
[Signal_3_Art_30]
rt/bli

5) Jetzt die Übelste Variante, die Tabelle enthält mehr Typen (1-3 zb)

Sei die Tabelle in der Form

"SW  
Typ";"SW-  
Art";GS1;"GS2/  
LS2";LS3;LS4;LS5;LS6;LS7;LS8  
3;32;;;ge/bli;;;;;
;;;;;;gn/bli;;;
;;;;;;;;rt/bli;
1;66;;;gn/bli;;;;;
;;;;;;gn/bli;;;
;;;;;;;;rt/bli;
2;20;;;rt/bli;;;;;
;;;;;;gn/bli;;;
;;;;;;;;rt/bli;

dann ergibt sich:

Typ 1 
[Signal_1_Art_66] 
gn/bli 
[Signal_2_Art_66] 
gn/bli 
[Signal_3_Art_66] 
rt/bli 
Typ 2 
[Signal_1_Art_20] 
rt/bli 
[Signal_2_Art_20] 
gn/bli 
[Signal_3_Art_20] 
rt/bli 
Typ 3 
[Signal_1_Art_32] 
ge/bli 
[Signal_2_Art_32] 
gn/bli 
[Signal_3_Art_32] 
rt/bli 

6) Entfassung Batch:
- Für einen Haufen Typen egal ob sie exisiteren oder nicht. Sie werden dann nicht ausgegeben.
Dafür %test% Variable definiert und test, ob Typ vorhanden.
more +%heradera% %datei% sorgt, dafür das der Kopf der Tabelle irgnoriert wird.
for /F "tokens=1,2 delims=;" %%a in ('more +%headera% %datei%^|find "%1;"') Do set /A "test=%%a" && set Art=%%b
if not %test%==%1 goto :eff

- Es können mehrere Farbwerte pro Zeile vorkommen (rt/bli;ge/bli)

- Spaltenposition für Farbwerte egal

REM ------------------SCHNIPP --------------------------------
REM Header der Tabelle
set headera=4

REM Dateiinfos
set datei=plt.txt
set output=test.txt

REM Gruppierung (hier Dreiergruppen)
set group=3

REM Anzahl der Typen (Wieviele Typen existieren)
REM Falls einer oder mehrer nicht exisitieren wird dass im Skript abgefangen.
set atyp=8

REM Zählen die einzelnen Typen hoch

for /L %%i IN (1,1,%atyp%) DO call :main %%i
goto :eof
    :main
            REM TYP und Art bestimmen     
    for /F "tokens=1,2 delims=;" %%a in ('more +%headera% %datei%^|find "%1;"') Do set /A "test=%%a" && set Art=%%b  
    
            REM Falls Type nicht existiert, deshalb %test% wird die Schleife übersprungen
    if not %test%==%1 goto :eff
    echo Typ %1 >> %output%

    for /F "delims=:" %%a in ('more +%headera% %datei%^|findstr /N "%1;"') Do set header=%%a  

            REM Signalnummer und Farben reinziehen    
                REM Berücksichtigt wird, dass die Werte in Dreiergruppen vorliegen
                REM Läßt sich einfach ändern, falls 4er oder uswer Gruppen vorliegen.
    
        for /L %%c IN (1,1,%group%) DO call :sub %%c
    goto :eff
    :sub  
          echo [Signal_%1_Art_%Art%] >> %output%
                
                REM Jetzt wird die 3er Gruppe ausgewertet, ab der Stelle, wo der Typ aufgetaucht ist
                REM Header ist Zeile in der der Typ gefunden wurde
                REM %1 Element in der 3er Gruppe
                REM %headera% ist der Kopf der Tabelle.
                REM %zahl% ist die Zeile in der Gruppe, die uns interessiert

          set /A "zahl=%1+%header%+%headera%-1"  

                REM Stimmt die Zeilenzahl von findstr mit %zahl% überein,
                REM dann haben wir einen Treffer und Farbe wird ausgegeben.
	  
	  for %%b in (ge/bi gn/bli rt/bli) DO for /F "delims=:" %%a in ('findstr /N "%%b" %datei%') Do IF %%a==%zahl% echo %%b >> %output%          
    :eff
:eof
REM ------------------SCHNAPP --------------------------------

Gruß Miguel
Member: Biber
Biber May 20, 2006 at 19:01:01 (UTC)
Goto Top
Moin Hummel85 und Miguel,

kann mich hier aufs Mitlesen beschränken - ist alles in guten Händen, denke ich.
Nur als kleine handwerkliche Tipps (zum vorletzten Schnipsel):

Hier ginge es ohne Sub
...:: Jetzt
for /L %%i IN (1,1,3) DO call :sub %%i
goto :eof
:sub 
echo [Signal_%1_Art_%Art] >> test.txt     && rem ein %-Zeichen fehlt hinter %Art
:eof && Rem  Diese Sprungmarke muss nicht gesetzt werden. Macht M$ für uns.

:: Alternativ
for /L %%i IN (1,1,3) DO echo [Signal_%%i_Art_%Art%] >> test.txt
goto :eof

@Hummel85
Kann denn immer nur genau EIN Farbwert pro Zeile auftauchen? Und ist die Spaltenposition unwichtig?

Gruß
Biber
Member: Hummel85
Hummel85 May 22, 2006 at 08:13:57 (UTC)
Goto Top
Guten Morgen,

erstmal vielen dank für die Hilfreichen Antworten.

An gogoflash: Werde die Batch im laufe des Tages testen. Vielen dank schon mal.

An Biber: Es kann nur ein Farbwert pro Zeile geben(rt oder gn oder rt/bli [steht für blinkendes rot Signal]). Und die Spalten Position ist genau so wichtig wie die Zeilen Position.

Die Spalte gibt an welchen LS( Lampenschalter) wir benutzen, und die Zeile gibt an welches Signal das ist[ gilt aber nur innerhalb der dreier Gruppe]. Es kann aber auch sein das nur 1 Signal existiert. Dann steht da natürlich nix.

Gruß Hummel

P.S. Ich melde mich im laufe des Tages wegen der Batch.
Member: gogoflash
gogoflash May 22, 2006, updated at Oct 18, 2012 at 15:56:55 (UTC)
Goto Top
Hi,

ich bastle gerade an einem Tutorial rum, darin ist die Suche nach Elementen und ausgabe von SPalten und Zeilen enthalten.

In Tabellen rumrechnen mittels Batch - Elemente finden und Ersetzen

Und ausserdem wäre eine Zuordung von Spaltenzahl und Signalnummer nicht schlecht.


Gruß Miguel
Member: Hummel85
Hummel85 May 23, 2006 at 07:05:03 (UTC)
Goto Top
Guten Morgen,

Ja das Tutorial sieht nicht schlecht aus. Werde ich mir mal bei gelegenheit durchlesen.

Und zu dem 2. Punkt

"Und ausserdem wäre eine Zuordung von Spaltenzahl und Signalnummer nicht schlecht."

Wie soll ich das verstehen? Was soll ich dir den jetzt schreiben?
Member: Hummel85
Hummel85 May 30, 2006 at 11:17:30 (UTC)
Goto Top
Hallo Miguel,


ich habe gerade deine Batch ausprobiert.
Leider muss ich sagen das sie mich dem Ziel nur ein wenig näher bringt.

So wie ich das gelesen habe Funktioniert diese Batch nur mit den 3 Farben( ge/bli, rt/gli und gn/bli). Und das erweitern auf alle Farben ist nahezu unmöglich weil es nicht nur Farben sein können sondern auch Buchstaben und so.

Doch nach dem Testen der nächste schock. Sobald ich was an der Tabelle (plt.txt) ändere geht nichts mehr. Die Batch erstellt nicht einmal die Test.txt.

Ich habe die Excel Tabelle ein wenig verändert.
Leider habe ich wenig Zeit um die Batch selber anzupassen. Und außerdem sind mir da wieder zu viele schleifen drin womit ich wieder nicht klar komme. Wäre also nett wenn du mir die Batch anpassen kannst.


Inhalt der plt.txt

Typ ;Art;LS1;LS2;LS3;LS4;LS5;LS6;LS7;LS8
2;1;rt;;gn;vi;;;;
;;;rt;;;gn;;;
;;;;;;;vi;;
2;2;rt;;gn;vi;;;D;
;;;rt;;;gn;;;D
;;;;;;;vi;;
2;3;rt;;;vi;;;D;
;;;;;;;;;M
;;;;gn;;;;;



Vielen dank im Voraus.

Gruß Hummel
Member: gogoflash
gogoflash May 30, 2006 at 12:35:19 (UTC)
Goto Top
Hi,

nachdem das Problem immer etwas komplexer wird bzw ständig modifiziert wird,sollten wir uns eine Strategie ausdenken.
Ist nun die letzte plt.txt die Entgültige Fassung?
Wie soll es am Ende aussehen?
Wieso ist jetzt vorne bei "Art" immer das gleiche ?
Jetzt sind auf einmal mehrere Farben in einer Zeile. rt vi D ????

Du solltest deine Fragestellung nicht ständig ändern. Das führt dazu, dass das Skript nicht brachbar ist und eigentlich von Grund auf neu konzipiert werden sollte.

So kann ich auch nicht arbeiten. Sorry.

Aufgabenstellung genauer stellen....

Gruß Miguel
Member: Hummel85
Hummel85 May 31, 2006 at 05:05:24 (UTC)
Goto Top
Morgen Miguel,

Also die plt.txt sieht ständig anderes aus.
Aber vom Aufbau an sich ändert sich nichts.
Nur der Inhalt.

Ich Schreibe dir einfach unter die Zeile in der plt.txt was in den einzelnen Dateien stehen soll.
(Rot ist der Inhalt der in der INI Datei stehen soll)
Typ ;Art;LS1;LS2;LS3;LS4;LS5;LS6;LS7;LS8
2;1;rt;;gn;vi;;;;
[Signal_2_art1]
LS1=rt
LS3=gn
LS4=vi

;;;rt;;;gn;;;
[Signal_2_art1]
LS2=rt
LS5=gn

;;;;;;;vi;;
[Signal_2_art1]
LS6=vi

2;2;rt;;gn;vi;;;D;
[Signal_2_art2]
LS1=rt
LS3=gn
LS4=vi
LS7=D

;;;rt;;;gn;;;D
[Signal_2_art2]
LS2=rt
LS5=gn
LS8=D

;;;;;;;vi;;
[Signal_2_art2]
LS6=vi

2;3;rt;;;vi;;;D;
[Signal_2_art3]
LS1=rt
LS4=vi
LS7=D

;;;;;;;;;M
[Signal_2_art3]
LS8=M

;;;;gn;;;;;
[Signal_2_art3]
LS3=gn


Um das Ganze aber noch Komplett zu machen. Brauch ich das Ganze nicht in einer INI Datei sondern in 3.

Typ1.ini:
[Signal_2_art1]
LS1=rt
LS3=gn
LS4=vi

[Signal_2_art2]
LS1=rt
LS3=gn
LS4=vi
LS7=D

[Signal_2_art3]
LS1=rt
LS4=vi
LS7=D

Typ2.ini:
[Signal_2_art1]
LS2=rt
LS5=gn

[Signal_2_art2]
LS2=rt
LS5=gn
LS8=D

[Signal_2_art3]
LS8=M

Typ3.ini:
[Signal_2_art1]
LS6=vi

[Signal_2_art2]
LS6=vi

[Signal_2_art3]
LS3=gn


So zu deiner nächsten Frage. Bei Art Steht nicht immer das gleiche. ich denke mal du meinst bei Typ. Das ist aber nur Zufall.

Leider habe ich auch gemerkt dass ich bei einem Beitrag einen Großen Fehler gemacht habe. Aber jetzt ist es wirklich so wie es bleiben wird.

Ja das mehrere Farben in einer Zeile stehen können habe ich aber gesagt aber innerhalb der dreier Gruppe gibt es nur ein Eintrag pro Spalte. Also Pro LS kann es nur eine Farbe innerhalb einer dreier Gruppe geben. Doppelbelegung gibt es nicht.

Ich hoffe mit diesen Angaben kannst du mehr anfangen.


Und Entschuldige bitte dass ich so viel verändern musste.
Aber ich bekomme auch immer neu Infos. "Ich will das aber lieber so."
Darum habe ich einfach gesagt das es mir egal ist was die wollen ich erstelle mir einfach aus der Excel Tabelle mit einem Makro die Tabelle die ich brauch um die mit der Batch die INI Dateien zu generieren. Darum wird es keine weitere Veränderung der plt.txt geben außer der Inhalt(Farben, Art, Typ). Aber der Aufbau ist immer gleich. Also die Batch darf nicht auf Wörter reagieren sondern auf die Position in der plt.txt.


Danke schon mal im Voraus.
Member: gogoflash
gogoflash May 31, 2006 at 23:14:30 (UTC)
Goto Top
Hi,


ich hab auch nicht so die Zeit eine Vollständige Lösung zu präsentieren.
Aber wir werden uns, dass Ding mal von der anderen Seite betrachten.

Zum Verständnis der Schleifen.

Mal ganz Sprachlich für ein 3 Zeilen Modell.

Sprach Batch ------------
Für jede Zeile (1,2,3) mach folgendes:

Wenn Du in der ersten Zeile bist gehe zu Los1, sonst gehe zu Los2.

LOS1:
Lese von der ersten bis zur letzen Spalte die Werte aus.
Ignoriere unsinnige Werte (Leerzeichen oder keine Zeichen)
Folgende Regeln sind zu beachten:
i) In der Spalte 1 ist das Signal
In der Spalte 2 ist die Art
Diese sollte ich mir merken.
ii) Spalte 3=LS1
Spalte 4=LS2
Allgemein: Für n > 2 gilt Spalte n=LS(n-2)
iii) Typdatei wird durch Zeilennummer definiert.
Zeile 1 = Typ1 usw
iv) Ausspucken von Werten in die Typdatei, sowie die LS Werte untereinander.
ENDE von LOS1

LOS2:
Falls Zeile > 1.
Lese von der 3 bis zur letzen Spalte.
Führe Teile Los.ii) und Los.iii) sowie Los.iv) aus.
Die Werte und Los.i) sind ja schon gelesen worden.
ENDE von LOS2
Sprach Batch ------------


Dieses Modell braucht schon mal 2 Schleifen. Einmal für die Spalten und einmal für die Zeilen.

Ist das so richtig?

Später kann man ja die gesamte Datei damit durchhaun.


Gruß Miguel