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

Am 1.1. per VBA Ordner 2014 anlegen

Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 10:54:53
Bernd
Hallo zusammen,
Brauche Hilfe bei nachfolgendem Problem, komme einfach nicht weiter.
Und zwar möchte ich das automatisch beim ersten Öffnen der Arbeitsmappe im Ordner "D:\Firma\Schriftwechsel\" ein neuer Ordner mit der aktuellen Jahreszahl (2014) angelegt wird.
Wer kann mir behilflich sein?
Vielen Dank im Voraus!!!
Gruß
Bernd

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 11:01:35
Hajo_Zi
Hallo Bernd,
Option Explicit
Sub Anlegen()
Dim StrPfad As String
Dim strDesktop As String
StrPfad = "D:\Firma\Schriftwechsel\2014\"
strDesktop = Dir(StrPfad, vbDirectory)
If strDesktop = "" Then MkDir StrPfad
End Sub

AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 11:13:16
Bernd
Hallo Hajo,
Danke für deine Hilfe.
Zwei Fragen:
1. bedeutet "strDesktop", dass der Pfad auf dem Desktop abgelegt wird?
2. Wo muss ich den Code eingeben bzw. aus welcher Zeile geht hervor, dass beim ersten Öffnen der Arbeitsmappe im neuen Jahr der besagte Ordner angelegt wird.
Ich lerne sehr viel momentan und verstehe die Codes immer besser, deshalb meine beiden Fragen, da ich nicht alles verstehe.
Gruß
Bernd

Anzeige
AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 11:19:07
Hajo_Zi
Hallo Bernd,
ich benutze vorhanden Code. Es ist eine Variable. Auf dem Desktop wolltest Du nichts anlegen.
Du hast geschrieben beim öffnen, Du schreibst schon zig Beiträge, da bin ich davon ausgegangen das klar ist Open unter DieseArbeitsmappe.
Gruß Hajo

AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 12:08:03
Bernd
Hallo Hajo,
Danke!!!
Gruß
Bernd

AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 11:57:08
UweD
Hallo
so z.B.
Das ganze kann ohne Prüfung 01.01. geschehen...
Ist das Verz. noch nicht da, dann wird es erzeugt, egal wann im aktuellen Jahr
Das Makro in "DieseArbeitsmappe" reinkopieren.
Private Sub Workbook_Open()
Dim Pfad$, Jahr$
Pfad = "D:\Firma\Schriftwechsel\"
Jahr = Year(Date)
If Dir(Pfad & Jahr, vbDirectory) = "" Then MkDir Pfad & Jahr
End Sub

Gruß UweD

Anzeige
AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 12:07:16
Bernd
Hallo Uwe,
kurz und prägnant, für mich als Laie die beste Hilfestellung. Danke!!!
Sollten noch anstatt Ordner "Schriftwechsel" noch andere im laufe der Zeit hinzu kommen, reicht es dann aus im dem ich den Pfad mit "& D:\Firma\XXX\" ergänze, oder wie muss ich dann verfahren?
Gruß
Bernd

AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 12:26:43
UweD
Hallo nochmal.
dann so z.B.
Private Sub Workbook_Open()
Dim Pfad$(), I&, Anz&
Dim Jahr$
Anz = 3 ' ***anpassen
ReDim Pfad(Anz)
Jahr = Year(Date)
Pfad(1) = "D:\Firma\Schriftwechsel"
Pfad(2) = "D:\Firma\Rechnungen\"
Pfad(3) = "D:\Firma\Sonstwas\"
For I = 1 To Anz
If Dir(Pfad(I) & Jahr, vbDirectory) = "" Then MkDir Pfad(I) & Jahr
Next I
End Sub

Gruß UweD

Anzeige
AW: Am 1.1. per VBA Ordner 2014 anlegen
17.09.2013 12:36:31
Bernd
Hallo Uwe,
genau so sollte es werden. Danke auch dafür, dass du meine laienhaften Erklärungen verstehst, das ist nicht bei allen Helfern so, da Fragende oft einer anderen Logik folgen, da sie nicht über das Wissen der Helfer verfügen.
Nochmals ♥lichen Dank!!!
Gruß
Bernd

Abarbeitung von ARRAY-Variablen
17.09.2013 13:01:27
ARRAY-Variablen
Hallo Bernd, hallo UweD,
hier eine überarbeitete Version der ARRAY-Version des Codes :
Private Sub Workbook_Open()
Dim strPfad(), intI As Integer
Dim intJahr As Integer
intJahr = Year(Date)
strPfad = Array("D:\Firma\Schriftwechsel\", _
"D:\Firma\Rechnungen\", _
"D:\Firma\Sonstwas\")
For intI = LBound(strPfad) To UBound(strPfad)
If Dir(strPfad(intI) & intJahr, vbDirectory) = "" Then MkDir strPfad(intI) & intJahr
Next
End Sub
Salut, NoNet

Anzeige
ohne LBOUND/ UBOUND
17.09.2013 13:23:37
Rudi
Hallo,
so geht's auch.
Private Sub Workbook_Open()
Dim arrPfad(), strPfad
Dim intJahr As Integer
intJahr = Year(Date)
arrPfad = Array("D:\Firma\Schriftwechsel\", _
"D:\Firma\Rechnungen\", _
"D:\Firma\Sonstwas\")
For Each strPfad In arrPfad
If Dir(strPfad & intJahr, vbDirectory) = "" Then MkDir strPfad & intJahr
Next
End Sub

Gruß
Rudi

AW: ohne LBOUND/ UBOUND
18.09.2013 12:41:52
Bernd
Hallo Ihr Beiden,
Danke, Danke. Ihr seid toll!!!!!!
Gruß
Bernd

178 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige