VBA Schleife
02.08.2019 20:05:43
Tom
Ich möchte endlich mal Schleifen in VBA verstehen, und hab da mal eine Frage:
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:
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:
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?