Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
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

VBA Schleife

VBA Schleife
02.08.2019 20:05:43
Tom
Hi,
Ich möchte endlich mal Schleifen in VBA verstehen, und hab da mal eine Frage:
Userbild
Oben sieht man einen Screenshot aus einer Excel-Datei, wo die Daten abgelesen werden und eine XML-Datei erstellt wird. In diese Excel-Datei soll eingepflegt werden, ob jetzt ein Nutzer für den Martk 1 oder Martk 2 oder sogar für beide Märkte registriert ist. Danach an welchen Portalen er registriert werden soll. Bei global, sollen alle Portale ausgewählt werden. Dann, ob er Marktleiter, Mitarbeiter, Admin oder Aushilfe ist.
Also wenn ein Mitarbeiter für den Markt 1 und nur für die Kasse registriert wird, sollte der Inhalt der XML so aussehen:
Userbild
Wenn er jetzt für beide Märkte zugeteilt wird und nicht nur für die KAsse sondern auch für Web zugelassen wird, sieht das Ganze folgendermaßwn aus:
Userbild
Wenn also ein "-" steht soll es übersprungen werden und wenn ein "x" dann soll es ausgewählt werden. Das VBA zum Aufbau der XML sieht folgendermaßen aus:
'UserRegist Tag
Set objBenutzer = objXML.appendChild(objXML.createELEMENT("Benutzer"))
'UserRegist Tag
Set objUserRegist = objBenutzer.appendChild(objXML.createELEMENT("UserRegist"))
'MarktZuordnung Tag
Set objMarktZuordnung = objUserRegist.appendChild(objXML.createELEMENT("MarktZuordnung"))
'MarktNummer Tag
Set objMarktNummer = objMarktZuordnung.appendChild(objXML.createELEMENT("MarktNummer"))
'MarktNummer Value
objMarktNummer.Text = "#objMarktNummer#"
'UserRegistContent Tag
Set objUserRegistContent = objUserRegist.appendChild(objXML.createELEMENT("UserRegistContent"))
'Rolle Tag
Set objRolle = objUserRegistContent.appendChild(objXML.createELEMENT("Rolle"))
'Rolle Value
objRolle.Text = "#Rolle#"
'Portal Tag
Set objPortal = objUserRegistContent.appendChild(objXML.createELEMENT("Portal"))
'PortalBezeichnung Tag
Set objPortalBezeichnung = objPortal.appendChild(objXML.createELEMENT("PortalBezeichnung"))
'PortalBezeichnung Value
objPortalBezeichnung.Text = "#PortalBezeichnung#"
Wie würde man hier vorgehen, um den Quellcode klein wie möglich zu halten?

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Schleife
02.08.2019 22:16:41
Piet
Hallo Tom
VBA Schleifen verstehen ist recht einfach, WENN sie logisch aufgebaut sind!
Schau dir deine Tabelle bitte einmal selbst genau an. Da ist für mich keine sinnvolle Logik drin!
Die gelben Überschriften gehören alle in eine Reihe, beginnend mit einer Lauf-Nr. und dem Mitarbeiter Namen. Gefolgt von: - Marktleiter, Mitarbeiter, Markt1, Markt2, und wo er eingesetzt wird. Steht alles in einer Zeile kann man das "x" durch eine Schleife die die ganze Zeile nach rechts durchlauft auswerten. Dann kommt die 2., 3. Zeile nach unten bis zum Schluss.
Auf Deutsch zwei ineinander verschachtelte Schleifen. Eine Schleife für Spaltenauswertung, eine für die Zeilen nach unten.
Dafür findest du im Internet oder im Herber Archiv viele Beispiele. Unten ein Mini Standard Code als Schleifen Prinzip.
mfg Piet
Sub Auswertung()
Dim AC As Range, lz1 As Long
Dim S As Integer  'Spalten
Dim z As Long     'Zeilen
'LastZeile in Spalte A suchen
lz1 = Cells(Rows.Count, 1).End(xlUp).Row
For z = 2 To lz1     'Anzahl Zeilen
For S = 1 To xx   'Anzahl Spalten
If Cells(z, S) = "x" Then
'hier dein Code was gemacht werdn soll
End If
Next S
Next z
End Sub

Anzeige
AW: VBA Schleife
02.08.2019 22:22:32
Tom
Hi,
vielen dank für deine Antwort. Ich habe es mal so gemacht, wie du vorgeschlagen hast:
Userbild
Allerdings weiss ich nicht wie ich das XMLdom in die Schleife bekomme?
AW: VBA Schleife
02.08.2019 22:22:33
Tom
Hi,
vielen dank für deine Antwort. Ich habe es mal so gemacht, wie du vorgeschlagen hast:
Userbild
Allerdings weiss ich nicht wie ich das XMLdom in die Schleife bekomme?
AW: VBA Schleife
02.08.2019 22:34:08
Piet
Hallo Tom
Sorry, ich weiss nicht was XMLdom ist? - Ist das eine eigene Programmiersprache? Dann kenne ich sie nicht!
Ich kann dir wohl helfen wenn du viele Zeilen untereinander mit "x" hast, und daraus eine Liste erstellen willst.
Das geht dann aber im VBA Makro Code. Hoffentlich reden wir hier nicht aneinander vorbei?
mfg Piet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige