Discussion:
Makro zum Ordneranlegen erstellen
(zu alt für eine Antwort)
Nico Rachow
2009-01-20 10:13:47 UTC
Permalink
Hallo,
folgendes ist gegeben, in jeder Zeile einer Tabelle gibt es ein Feld, in dem
ein Ordnername steht , z.B. "Musterstr 23 AB09000011". Dieser wird
per Formel aus 2 weiteren Spalten angezeigt.
Nun möchte ich neben dem Ordnernamen in jeder Zeile einen Button erzeugen,
welcher beim Klicken einen Ordner mit dem jeweiligen Namen erstellt.

Da meine Makrokenntnisse ziemlich schlecht sind, hoffe ich hier auf Hilfe.

Im Internet hab ich schon ein Beispielmakro zum Anlegen eines Ordners
gefunden:

Sub Ordner_anlegen()
'prüfen ob ein Ordner vorhanden ist und falls nicht
'fragen ob Ordner erstellt werden soll
Dim Ord As String
Dim Antwort As Integer
Ord = "C:\Teste"
If Dir(Ord, vbDirectory) <> "" Then
MsgBox "Ordner ist schon vorhanden"
Else
Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
& vbNewLine _
& "soll der Ordner angelegt werden?!", vbYesNo)
If Antwort = vbYes Then
'Falls kein LW angegeben ist, erstellt die MkDir-Anweisung
'den neuen Ordner auf dem aktuellen LW.
'LW wurde aber durch "C:\Teste" festgelegt
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
Else
MsgBox "Es wurden keine Änderungen vorgenommen"
Exit Sub
End If
End If
End Sub


Dies müsste ich jetzt so anpassen, das immer der richtige Ordnername aus der
Spalte erzeugt wird.
Kann mir jemand dabei helfen?

Gruß Nico
stefan onken
2009-01-20 12:26:39 UTC
Permalink
Post by Nico Rachow
Hallo,
folgendes ist gegeben, in jeder Zeile einer Tabelle gibt es ein Feld, in dem
ein Ordnername steht , z.B.  "Musterstr 23  AB09000011". Dieser wird
per Formel aus 2 weiteren Spalten angezeigt.
Nun möchte ich neben dem Ordnernamen in jeder Zeile einen Button erzeugen,
welcher beim  Klicken einen Ordner mit dem jeweiligen Namen erstellt.
Da meine Makrokenntnisse ziemlich schlecht sind, hoffe ich hier auf Hilfe.
Im Internet hab ich schon ein Beispielmakro zum Anlegen eines Ordners
Sub Ordner_anlegen()
'prüfen ob ein Ordner vorhanden ist und falls nicht
'fragen ob Ordner erstellt werden soll
Dim Ord As String
Dim Antwort As Integer
Ord = "C:\Teste"
  If Dir(Ord, vbDirectory) <> "" Then
     MsgBox "Ordner ist schon vorhanden"
  Else
  Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
          & vbNewLine _
          & "soll der Ordner angelegt werden?!", vbYesNo)
      If Antwort = vbYes Then
'Falls kein LW angegeben ist, erstellt die MkDir-Anweisung
'den neuen Ordner auf dem aktuellen LW.
'LW wurde aber durch "C:\Teste" festgelegt
      MkDir Ord
      MsgBox "Ordner " & Ord & " angelegt"
      Else
      MsgBox "Es wurden keine Änderungen vorgenommen"
      Exit Sub
      End If
  End If
End Sub
Dies müsste ich jetzt so anpassen, das immer der richtige Ordnername aus der
Spalte erzeugt wird.
Kann mir jemand dabei helfen?
Gruß Nico
hallo Nico,
ich würde nur einen Button erstellen und nicht in jeder Zeile einen,
da ist die Programmierung aufwändiger.
Wenn du nur 1 Button hast, müsstest du aber erst die Zelle mit dem
Ordnernamen anklicken und danach den Button klicken.

Welche Excelversion verwendest du? Und in welchem verzeichnis sollen
die Ordner erstellt werden?

Gruß
stefan
Nico Rachow
2009-01-20 20:53:51 UTC
Permalink
Hallo Stefan,
Post by stefan onken
Welche Excelversion verwendest du? Und in welchem verzeichnis sollen
die Ordner erstellt werden?
ich verwende Excel 2000, ein Update auf 2003 wäre aber notfalls kein
Problem.
Wenn das mit einem Button funktioniert, wäre es noch besser,
dann müsste ich nicht, wenn neue Zeilen hinzukommen, jedesmal einen neuen
Button erzeugen.
Der Ordner heisst F:\Projekte, darunter sollen die Unterordner angelegt
werden.

Gruß Nico
stefan onken
2009-01-21 08:39:54 UTC
Permalink
Post by Nico Rachow
Hallo Stefan,
Post by stefan onken
Welche Excelversion verwendest du? Und in welchem verzeichnis sollen
die Ordner erstellt werden?
ich verwende Excel 2000, ein Update auf 2003 wäre aber notfalls kein
Problem.
Wenn das mit einem Button funktioniert, wäre es noch besser,
dann müsste ich nicht, wenn neue Zeilen hinzukommen, jedesmal einen neuen
Button erzeugen.
Der Ordner heisst F:\Projekte, darunter sollen die Unterordner angelegt
werden.
Gruß Nico
hallo Nico,
ein Update ist nicht nötig. So gehts:

wechsle mit Alt+F11 in den VBA-Editor, gehe dort auf Einfügen/Modul
kopiere diesen (angepassten) Code in das große Codefenster

Sub Ordner_anlegen()
'prüfen ob ein Ordner vorhanden ist und falls nicht
'fragen ob Ordner erstellt werden soll
Dim Ord As String
Dim Antwort As Integer
Ord = "F:\Projekte\" & ActiveCell.Value
If Dir(Ord, vbDirectory) <> "" Then
MsgBox "Ordner ist schon vorhanden"
Else
Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
& vbNewLine _
& "soll der Ordner angelegt werden?!", vbYesNo)
If Antwort = vbYes Then
'Falls kein LW angegeben ist, erstellt die MkDir-Anweisung
'den neuen Ordner auf dem aktuellen LW.
'LW wurde aber durch "C:\Teste" festgelegt
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
Else
MsgBox "Es wurden keine Änderungen vorgenommen"
Exit Sub
End If
End If
End Sub

beende den Editor (Alt+F11)
gehe auf Ansicht/Symbolleisten/Steuerelement-toolbox
linksklick auf Befehlsschaltfläche und ziehe bei gedrückter linker
Maustaste ein Rechteck, wo der Button hin soll
doppelklick drauf, es kommt wieder der VBA-Editor mit 2 Codezeilen
(Sub _Click, End Sub)
dazwischen schreibst du: Ordner_anlegen
Editor beenden, in der Toolbox über die Schaltfläche oben links den
Entwurfsmodus beenden
wenn du dann eine Zelle mit irgendeinem Inhalt anklickst und danach
den button, sollte das Makro laufen.

Wenn du was an dem button ändern willst, musst du erst über Ansicht/
Symbolleisten/Steuerelement-toolbox in den Entwurfsmodus.
Es ist auch möglich, dass der button immer sichtbar ist, auch wenn man
weit nach unten scrollt (Fenster/Fenster fixieren und den button in
dem fixierten Bereich positionieren)

Gruß
stefan
Nico Rachow
2009-01-21 09:24:36 UTC
Permalink
Hallo Stefan,
hab deine Anleitung befolgt, es klappt super !

Nun habe ich noch eine Frage.

Nach dem Erstellen des Ordners sollen 2 Dateien aus einem Musterordner
in den neu erzeugten Ordner kopiert werden, also etwa so:

copy f:\projekte\#muster\eingangsrechnungen.xls "neu erzeugter Ordner"
copy f:\projekte\#muster\stundenzeiten.xls "neu erzeugter Ordner"

Kannst du mir das auch noch in VBA übersetzen.

Vielen Dank
Nico
Post by Nico Rachow
Hallo Stefan,
Post by stefan onken
Welche Excelversion verwendest du? Und in welchem verzeichnis sollen
die Ordner erstellt werden?
ich verwende Excel 2000, ein Update auf 2003 wäre aber notfalls kein
Problem.
Wenn das mit einem Button funktioniert, wäre es noch besser,
dann müsste ich nicht, wenn neue Zeilen hinzukommen, jedesmal einen neuen
Button erzeugen.
Der Ordner heisst F:\Projekte, darunter sollen die Unterordner angelegt
werden.
Gruß Nico
hallo Nico,
ein Update ist nicht nötig. So gehts:

wechsle mit Alt+F11 in den VBA-Editor, gehe dort auf Einfügen/Modul
kopiere diesen (angepassten) Code in das große Codefenster

Sub Ordner_anlegen()
'prüfen ob ein Ordner vorhanden ist und falls nicht
'fragen ob Ordner erstellt werden soll
Dim Ord As String
Dim Antwort As Integer
Ord = "F:\Projekte\" & ActiveCell.Value
If Dir(Ord, vbDirectory) <> "" Then
MsgBox "Ordner ist schon vorhanden"
Else
Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
& vbNewLine _
& "soll der Ordner angelegt werden?!", vbYesNo)
If Antwort = vbYes Then
'Falls kein LW angegeben ist, erstellt die MkDir-Anweisung
'den neuen Ordner auf dem aktuellen LW.
'LW wurde aber durch "C:\Teste" festgelegt
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
Else
MsgBox "Es wurden keine Änderungen vorgenommen"
Exit Sub
End If
End If
End Sub

beende den Editor (Alt+F11)
gehe auf Ansicht/Symbolleisten/Steuerelement-toolbox
linksklick auf Befehlsschaltfläche und ziehe bei gedrückter linker
Maustaste ein Rechteck, wo der Button hin soll
doppelklick drauf, es kommt wieder der VBA-Editor mit 2 Codezeilen
(Sub _Click, End Sub)
dazwischen schreibst du: Ordner_anlegen
Editor beenden, in der Toolbox über die Schaltfläche oben links den
Entwurfsmodus beenden
wenn du dann eine Zelle mit irgendeinem Inhalt anklickst und danach
den button, sollte das Makro laufen.

Wenn du was an dem button ändern willst, musst du erst über Ansicht/
Symbolleisten/Steuerelement-toolbox in den Entwurfsmodus.
Es ist auch möglich, dass der button immer sichtbar ist, auch wenn man
weit nach unten scrollt (Fenster/Fenster fixieren und den button in
dem fixierten Bereich positionieren)

Gruß
stefan
stefan onken
2009-01-21 10:25:19 UTC
Permalink
Post by Nico Rachow
Hallo Stefan,
hab deine Anleitung befolgt, es klappt super !
Nun habe ich noch eine Frage.
Nach dem Erstellen des Ordners sollen 2 Dateien aus einem Musterordner
copy f:\projekte\#muster\eingangsrechnungen.xls    "neu erzeugter Ordner"
copy f:\projekte\#muster\stundenzeiten.xls    "neu erzeugter Ordner"
Kannst du mir das auch noch in VBA übersetzen.
hallo Nico,
füge in den bestehenden Code unter der Codezeile
MkDir Ord
diese beiden Codezeilen ein:

FileCopy "f:\projekte\#muster\eingangsrechnungen.xls", Ord &
"\eingangsrechnungen.xls"
FileCopy "f:\projekte\#muster\stundenzeiten.xls", Ord &
"\stundenzeiten.xls"

Gruß
stefan
Nico Rachow
2009-01-21 10:45:43 UTC
Permalink
Vielen Dank, auch das klappt.

Gruß Nico

Loading...