Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
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
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
If .Cells(iZeile, "A").Value <> "" And iZeile <= 20 ThenIch 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 ^^