Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Ordner erstellen auf Knopfdruck

Betrifft: Ordner erstellen auf Knopfdruck von: Specker
Geschrieben am: 27.09.2020 05:08:51

Hallo

Leider kenne ich mich nicht aus mit VB, daher bin ich hier gestrandet.. ;)

Ich bräuchte für mein Warenwirtschaftsprogramm eine Excel Funktion, die mir ganz bestimmte Ordner erstellt, in dem Verzeichnis, in der die Excel Datei liegt.

Ich habe verschiedene Zellen in meiner Vorlage (A1-A20) mit Werten wie „828-001“, „828-002“ etc.
Aus jedem dieser Zellenwerte müsste ein Ordner erstellt werden, der einen Unterordner beinhaltet.

Für die Zelle A1 mit dem Wert "828-001" müsste ein Ordner erstellt werden namens "Artikel828-001".
In diesem Ordner müsste ein weiterer Ordner namens "pics" liegen.

Also von A1 bis A20 stehen zahlen drin wie 828-001. Es müssten also aus diesem Zellen-Bereich die entsprechenden Ordner erstellt werden.

Wenn nur A1 bis A6 mit Werten gesetzt wäre, dürften auch nur 6 Ordner erstellt werden. (Die jeweils den Unterordner "pics" beinhaltet.

Der erste Order muss also quasi einfach nur "Artikel"+"Wert von A1" heißen. Ohne Leerzeichen.
Zweiter Ordner "Artikel"+"Wert von A2" etc.
Also z.b. "Artikel944-007".

Über ein activeX Button müsste die Funktion dann ausgeführt werden können.

Könnt ihr mir helfen das umzusetzen? Ich wäre euch unendlich dankbar.

Gruß - Ben

Betrifft: AW: Ordner erstellen auf Knopfdruck
von: Armin
Geschrieben am: 27.09.2020 08:10:42

Hallo Ben,
so sollte es gehen.
https://www.herber.de/bbs/user/140462.xlsm

Gruß Armin

Betrifft: AW: Ordner erstellen auf Knopfdruck
von: volti
Geschrieben am: 27.09.2020 11:21:33

Hallo Ben,

hier noch eine Variante:


Code:
[Cc]
 
Option Explicit Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _ ByVal lpPath As String) As Long Sub ErstelleOrdner() 'Sub erstellt Ordner lt. Liste im aktuellen Verzeichnis Dim iZeile As Long With ActiveSheet For iZeile = 1 To .Cells(Rows.Count, "A").End(xlUp).Row If .Cells(iZeile, "A").Value <> "" Then MakeSureDirectoryPathExists ThisWorkbook.Path & "\Artikel" _ & .Cells(iZeile, "A").Value & "\pics\" End If Next iZeile End With MsgBox "Ordner wurden erstellt!", vbInformation, "Ordner erstellen" End Sub
 
____________________
viele Grüße aus Freigericht
Karl-Heinz


Betrifft: AW: Ordner erstellen auf Knopfdruck
von: Specker
Geschrieben am: 27.09.2020 19:59:12

Hi Karl-Heinz

Es funktioniert super!!! Tausend Dank!!! :)
Ich habe lediglich eine kleine Sache ergänz:
If .Cells(iZeile, "A").Value <> "" And iZeile <= 20 Then
Ich wollte ja, dass maximal bis Zeile 20 nach Zellwerten gesucht wird. Das habe ich unglücklich ausgedrückt. Genauer gesagt, hatte ich das garnicht formuliert ^^
Wie auch immer, jetzt läufts! Danke nochmal!

Gruß - Ben


-----

@ Armin
Den Code habe ich irgendwie nicht zum laufen gebracht, obwohl ich den Zellwert angepasst hatte.
Trotzdem auch dir danke! :)