Thema Datum  Von Nutzer Rating
Antwort
Rot komplexe Ordnerstrukturen via Excel VBA anlegen
27.03.2019 14:51:37 bhawener
NotSolved
27.03.2019 16:29:01 Gast20533
NotSolved
27.03.2019 16:44:15 Gast53466
NotSolved
27.03.2019 17:25:28 Gast54600
NotSolved
27.03.2019 18:07:25 bhawener
NotSolved
27.03.2019 18:13:22 Gast79431
NotSolved
27.03.2019 18:16:33 bhawener
NotSolved
27.03.2019 18:36:38 Gast24722
NotSolved
27.03.2019 19:29:54 bhawener
NotSolved
27.03.2019 21:07:53 Gast9886
NotSolved
27.03.2019 21:06:03 Gast26526
NotSolved
27.03.2019 22:14:03 bhawener
NotSolved
27.03.2019 22:26:18 Gast34827
NotSolved
05.04.2019 16:07:32 bhawener
NotSolved
05.04.2019 16:15:17 bhawener
NotSolved
09.04.2019 14:06:03 Gast43308
NotSolved
28.03.2019 13:45:55 Gast48397
NotSolved
28.03.2019 16:15:16 bhawener
NotSolved
28.03.2019 17:34:16 Gast15968
NotSolved
28.03.2019 22:48:18 Ulrich
NotSolved

Ansicht des Beitrags:
Von:
bhawener
Datum:
27.03.2019 14:51:37
Views:
164
Rating: Antwort:
  Ja
Thema:
komplexe Ordnerstrukturen via Excel VBA anlegen

Hallo zusammen,

Ich würde gerne meinen Kindern beim Umgang mit Ihren Studien Unterlagen helfen.

Für mich hatte ich schon immer eine kleines Excelsheet mit Ordnernamen und zig Unterordner im Einsatz. Funktioniert auch soweit.

Jetzt habe ich meinen Mund zu voll genommen und ihnen gesagt, ich werde euch was bauen.

Ich wende seit Jahren Excel VBA an, aber eher sehr Hemdsärmelig und mit viel Unterstützung aus dem Netz.

Klassisch so: Die Ordnerbezeichnungen sind einfach mal so dahingestellt.

1. Laufwerk und Hauptverzeichnis wählen oder anlegen.

2. Ebene 2 (hier bis zu 6 Unterverzeichnisse möglich "A-E ; F-J ; K-O ; P-T ; U-Z ; Sonstige", dient zu Übersichtlichkeit der Themen)

3. Ebene 3 (hier bis zu 3 Unterverzeichnisse je UV-Ebene 2 möglich "01_Erhalten ; 02_in Arbeit ; 03_Abgegeben)

4. Ebene 4 (hier bis zu 2 Unterverzeichnisse je UV-Ebene 3 möglich "JJMMTT_Version_in Arbeit; JJMMTT_Version_Abgeschlossen)

 

Beschreibung:

Ich habe eine Userform, mit mehreren Frames.

dort werden Optionbuttens angewählt und damit Textfelder aktiviert, die dann als Grundlage für die Verzeichnisstruktur dienen.

hier kann das Laufwerk und das Hauptverzeichnis ausgewählt, falls noch nicht vorhanden auch angelegt werden --> funtioniert.

Private Sub CB_Ebene_1_Click()

Schalter = OB1 '##
LW = TB_DEF_LW.Value
HV = TB_EBENE_1.Value


If Schalter = True Then
sDir = LW & "\" & HV 'Hauptverzeichnis (Ebene 1) auf Laufwerk anlegen, falls nicht vorhanden

If Dir(sDir, vbDirectory) <> "" Then
    MsgBox "Verzeichnis existiert schon"
    CB_Ebene_1.Visible = False
Else

'MkDir sDir
MsgBox sDir & " wurde angelegt"
End If
On Error Resume Next
Else
MsgBox "ein Fehler, bitte erst Ebene 1 Hauptverzeichnis angeben"
End If

End Sub

FRAME 2 (Unterverzeichnisse Ebene 2 anlegen) -->funktioniert, gefühlt super.

Private Sub CB_EBENE_2_Click()
Dim ctrl As Control
Dim i As Integer
Dim Schalter As String
Dim Fso, strV
Dim Anzahl As Integer
Dim ZAEHLER As Integer
Dim max As Integer
Dim HV As String
Dim UV2 As Variant 
Dim EB As String
Dim xEBENE2 As String
i = 0
For Each ctrl In Me.Frame2.Controls
    If TypeOf ctrl Is MSForms.CheckBox Then
    LW = TB_DEF_LW.Value
    HV = TB_EBENE_1.Value
    OB_NAME = ctrl.Name
    OB_EIGENSCHAFT = ctrl.Value
   
    xEBENE2 = "TB_EBENE_" & Right(OB_NAME, Len(OB_NAME) - 2)
   
        With Controls(xEBENE2)   
        UV2 = .Value
        End With
       
        sDir = LW & "\" & HV & "\" & UV2      
      
        i = i + Abs(ctrl.Value)
       
       If OB_EIGENSCHAFT = True Then
         Set Fso = CreateObject("Scripting.FileSystemObject")
      
        If Fso.FolderExists(sDir) = True Then
        MsgBox sDir & " existiert bereits"
        On Error Resume Next
        End If
           
        On Error Resume Next
        If Fso.FolderExists(sDir) = False Then
        MkDir sDir
        MsgBox sDir & " wurde angelegt"
        End If
                End If
    End If
Next ctrl
End Sub

FRAME 3 (Unterverzeichnisse Ebene 3 anlegen) -->  ab hier komme ich nicht weiter, bzw. ist mein Mund zu voll gewesen.

die Fehlermeldung Next ohne For bringt mich zum verzweifeln.

Private Sub CB_EBENE_3_Click()

Dim i As Integer
Dim Schalter As String
Dim Fso, strV
Dim Anzahl As Integer
Dim ZAEHLER As Integer
Dim max As Integer
Dim HV As String
Dim UV2 As Variant  
Dim UV3 As Variant
Dim EB As String
Dim xEBENE2 As String

i = 0

For Each ctrl_1 In Me.Frame2.Controls                  
    If TypeOf ctrl Is MSForms.CheckBox Then
    LW = TB_DEF_LW.Value
    HV = TB_EBENE_1.Value
    OB_NAME2 = ctrl.Name
    OB_EIGENSCHAFT = ctrl.Value
    
    For Each ctrl_2 In Me.Frame3.Controls
        If TypeOf ctrl Is MSForms.CheckBox Then
        LW = TB_DEF_LW.Value
        HV = TB_EBENE_1.Value
        OB_NAME3 = ctrl.Name
        OB_EIGENSCHAFT2 = ctrl.Value
    
Stop
    
    xEBENE2 = "TB_EBENE_" & Right(OB_NAME2, Len(OB_NAME2) - 2)
    xEBENE3 = "TB_EBENE_" & Right(OB_NAME3, Len(OB_NAME3) - 2)
    
        With Controls(xEBENE2)    
        UV2 = .Value
        End With
        
        With Controls(xEBENE3)    
        UV3 = .Value
        End With
        
        sDir = LW & "\" & HV & "\" & UV2 & "\" & UV3     
       
        i = i + Abs(ctrl.Value)
        
        If OB_EIGENSCHAFT = True Then
         Set Fso = CreateObject("Scripting.FileSystemObject")
       
                If Fso.FolderExists(sDir) = True Then
                MsgBox sDir & " existiert bereits"
                On Error Resume Next
                End If
            
                    On Error Resume Next
                    If Fso.FolderExists(sDir) = False Then
                    MkDir sDir
                    MsgBox sDir & " wurde angelegt"
                    End If
        End If
                End If

Next ctrl_2
    Next ctrl_1
End Sub

Wie oben bereits erwähnt:

Excel VBA programiere ich Hemdsärmelig, also bin ich eher ein erfahrener Anfänger.

Ob die Ordnerstruktur so sinnvoll ist will ich nicht wissen, sie ist halt einfach so gewünscht.

Es wäre super Nett, wenn mir hier jemad helfen kann, danke

bhawener

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot komplexe Ordnerstrukturen via Excel VBA anlegen
27.03.2019 14:51:37 bhawener
NotSolved
27.03.2019 16:29:01 Gast20533
NotSolved
27.03.2019 16:44:15 Gast53466
NotSolved
27.03.2019 17:25:28 Gast54600
NotSolved
27.03.2019 18:07:25 bhawener
NotSolved
27.03.2019 18:13:22 Gast79431
NotSolved
27.03.2019 18:16:33 bhawener
NotSolved
27.03.2019 18:36:38 Gast24722
NotSolved
27.03.2019 19:29:54 bhawener
NotSolved
27.03.2019 21:07:53 Gast9886
NotSolved
27.03.2019 21:06:03 Gast26526
NotSolved
27.03.2019 22:14:03 bhawener
NotSolved
27.03.2019 22:26:18 Gast34827
NotSolved
05.04.2019 16:07:32 bhawener
NotSolved
05.04.2019 16:15:17 bhawener
NotSolved
09.04.2019 14:06:03 Gast43308
NotSolved
28.03.2019 13:45:55 Gast48397
NotSolved
28.03.2019 16:15:16 bhawener
NotSolved
28.03.2019 17:34:16 Gast15968
NotSolved
28.03.2019 22:48:18 Ulrich
NotSolved