Computerproblem VBA

Diskutiere Computerproblem VBA im Smalltalk und Offtopic Forum im Bereich Community; Ja das gehört nun nicht gaaanz hierher. Aber mal schauen vll. kennt sich ja jemand aus. Ich habe eine Excel Tabelle. In den ersten beiden Spalten...
bmw-q

bmw-q

Themenstarter
Dabei seit
10.01.2010
Beiträge
65
Ort
Simonswald
Modell
1150 Adventure
Ja das gehört nun nicht gaaanz hierher. Aber mal schauen vll. kennt sich ja jemand aus.

Ich habe eine Excel Tabelle. In den ersten beiden Spalten sind Werte eingetragen. Nun möchte ich über ein VBA-Skript in Windows Ordner erzeugen mit genau diesen Werten. Geschfft habe ich es:
Beispiel: Wert A = Andreas Wert2 = Müller
sub machdir()
pname=cells(1,1).value & "_" & cells(1,2).value
MkDir pname
end sub


Andreas_Müller

Leider macht er mir immer nur den ersten Eintrag.
Mir fehlt nun eine Schleife der das ganze abarbeitet. Kann mir jemand schreiben wie so etwas auszusehen hat?
 
IamI

IamI

Dabei seit
26.09.2007
Beiträge
1.788
Ort
Purkersdorf
Modell
K51 (2015); K14 (2002); K48 (2019) - und zwei Vespas (1961)
Ja das gehört nun nicht gaaanz hierher. Aber mal schauen vll. kennt sich ja jemand aus.

Ich habe eine Excel Tabelle. In den ersten beiden Spalten sind Werte eingetragen. Nun möchte ich über ein VBA-Skript in Windows Ordner erzeugen mit genau diesen Werten. Geschfft habe ich es:
Beispiel: Wert A = Andreas Wert2 = Müller
sub machdir()
pname=cells(1,1).value & "_" & cells(1,2).value
MkDir pname
end sub


Andreas_Müller

Leider macht er mir immer nur den ersten Eintrag.
Mir fehlt nun eine Schleife der das ganze abarbeitet. Kann mir jemand schreiben wie so etwas auszusehen hat?

Ser's,

ohne jetzt genau auf die Syntax einzugehen, lies in der Onlinehilfe, wie man mit Collections umgeht.
Stichwort Foreach.

Oder mache einfach eine einfache for next Schleife

for i = 0 to cells.count
pname=cells(i,1).value & "_" & cells(i,2).value
MkDir pname
next
SYNTAX BITTE NACHSCHAUEN - DAS IST NUR "PSeudocode"
Aufpassen, ob ich Zeile/Spalte nicht verdreht habe!

Die Online-Hilfe zu VBA ist auch für Anfänger halbwegs brauchbar

liebe Grüße

Wolfgang
 
FrankS

FrankS

Dabei seit
29.09.2007
Beiträge
1.885
For-next Schleife oder Do- While, die Endbedingung ist dann, in Spalte A auf eine leere Zelle zu treffen:

Sub machdir()
x = 1 'in dieser Zeile startet das Script

Do While Cells(x, 1) <> "" '...und läuft durch alle Zeilen, bis eine leere Zelle/Zeile gefunden wird
pname = Cells(x, 1).Value & "_" & Cells(x, 2).Value
MkDir pname
x = x + 1 ' zähler eins hoch setzen
Loop
End Sub



Gruß

Frank
 
bmw-q

bmw-q

Themenstarter
Dabei seit
10.01.2010
Beiträge
65
Ort
Simonswald
Modell
1150 Adventure
He Danke Ihr zwei.
Hat wunderbar funktioniert. Hab das Skript noch etwas angepasst damit es mir die Ordner an einem Ort erzeugt wo ICH es will.
Hier das fertige Skript für diejenigen die das irgendwann mal brauchen könnten.

Sub machdir()
x = 1 'in dieser Zeile startet das Script

Do While Cells(x, 1) <> "" '...und läuft durch alle Zeilen, bis eine leere Zelle/Zeile gefunden wird
pname = "E:\Temp\" & Cells(x, 1).Value & "_" & Cells(x, 2).Value
MkDir pname
x = x + 1 ' zähler eins hoch setzen
Loop
End Sub

PS: Achtung. vergesst icht das die Inhalte der Tabelle auch Zeichen beinhalten könnten mit denen Windows nichts anfangen kann ( / ) :rolleyes:
 
Thema:

Computerproblem VBA

Oben