Office: (Office 2013) Ordner via Excelliste erstellen und Unterordner hineinkopieren

Helfe beim Thema Ordner via Excelliste erstellen und Unterordner hineinkopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Forumsgemeinde, ich bin seit Tage daran, mir viel Arbeit mittels Automatisierung abzunehmen. Ich habe vor, mir ein Tabellenblatt zu... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von GKMueller, 14. Januar 2018.

  1. Ordner via Excelliste erstellen und Unterordner hineinkopieren


    Hallo liebe Forumsgemeinde,

    ich bin seit Tage daran, mir viel Arbeit mittels Automatisierung abzunehmen.

    Ich habe vor, mir ein Tabellenblatt zu basteln,

    in dem ich Jahreszahl und Auftragsnummern eintrage und diese dann automatisch an einem vorgegebenen Pfad Ordner erstellen. Ferner möchte ich, dass die Ordner nach folgendem Schema bei der Erstellung benannt werden:

    In Zelle ab A5 wird Jahreszahl eingetragen, in Zelle ab B5 soll der passende Link (Hyperlink) automatisch erscheinen und in Zelle ab C6 wird Auftragsnummer eingetragen.

    Der VBA-Befehl soll also zum einen Ordner an einem vorgegebenen Pfad erstellen, die Bezeichnung der Ordner sollen so aussehen: z.B. 2018_100

    Dann soll automatisch in dem Tabellenblatt in zugehöriger Zelle in Spalte B die Verlinkung erstellt werden bzw. angegeben werden, so dass ich sofort in den Ordner via Mausklick komme.

    Und als letzte Anforderung soll in die jeweils neu erstellten bzw. neu zu erstellenden Ordner eine vorgegebene Ordnerstruktur hineinkopiert werden.

    Diese Ordnerstruktur befindet sich an folgendem Pfad:

    p:TestumgebungOrdnerstrukturvorlage

    Mein Problem ist es, dass die Liste immer aktualisiert wird, d.h. die Auftragsnummern werden in Echtzeit on Demand in die Tabelle eingetragen.
    Somit dürfen schon eingegebene Auftragsnummern und somit Ordner nicht überschrieben werden.

    Ich hatte dafür folgenden Codes mir zusammengebastelt :

    Sub OrdnerAnlegen()
    Dim lngI As Long

    For lngI = 1 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    MkDir "p:Testumgebung" & ActiveSheet.Cells(lngI, 1).Text
    Next lngI

    End Sub

    und

    Sub CopyFolder()

    fso.CopyFolder _
    Source:="p:TestumgebungOrdnervorlage" _
    , Destination:="p:Testumgebung & ActiveSheet.Cells(lngI, 1).Text"

    Set fso = Nothing


    End Sub


    und

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lngLetzteZeile As Long
    Dim strOrdner As String
    Dim strVerzeichnis As String
    Dim intspalte As Integer
    Dim objFSO As Object
    Dim objFO As Object
    Dim objF As Object

    If Target.Column = 2 Then Exit Sub
    If Target.Count > 1 Then Exit Sub

    intspalte = Target.Column

    strVerzeichnis = "P:Testumgebung"

    If intspalte = 1 Then
    strOrdner = Target.Text & "_" & Target.Offset(0, 2).Text
    intspalte = 2
    Else
    strOrdner = Target.Offset(0, -2).Text & "_" & Target.Text
    intspalte = -2
    End If

    With ActiveSheet
    lngLetzteZeile = IIf(IsEmpty(.Range("A65536")), .Range("A65536").End(xlUp).Row, 65536)

    If Not Intersect(Target, Range("A1:C" & lngLetzteZeile)) Is Nothing Then
    If Target.Value "" And Target.Offset(0, intspalte) "" Then
    If Dir(strVerzeichnis & strOrdner, vbDirectory) "" Then
    Select Case MsgBox("Ordner wird gelöscht und neu erstellt! Möchten Sie das?", _
    vbYesNo Or vbExclamation Or vbDefaultButton1, "Ordner löschen!")
    Case vbYes
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFO = objFSO.GetFolder(strVerzeichnis & strOrdner)
    objFO.Delete

    Exit Sub
    Case vbNo
    Exit Sub
    End Select
    Else
    MkDir strVerzeichnis & strOrdner
    .Hyperlinks.Add Anchor:=.Cells(Target.Row, 2), Address:=strVerzeichnis & strOrdner, TextToDisplay:="zum Auftrag"
    .Columns(2).AutoFit
    End If
    End If
    End If
    End With
    End Sub



    Ich bekomme diesen Code leider nicht zusammen, so dass ich ein arbeitsfähiges Tabellenblatt erhalte.

    Vielleicht wäre jemand so nett,

    mir da die richtigen Hinweise zu geben, ich würde gerne selbst dann ein Lösung finden, nur ich brauch wirklich Hilfe.

    Über jede Hilfe bin ich dankbar.

    Liebe Grüße

    Konrad

    :)
     
    GKMueller, 14. Januar 2018
    #1
  2. Hallo Konrad,
    es ist bestimmt nicht die Ursache, dass wir alle keine Lösung wüsten. Aber so ist das eben wenn man einfach den anderen ein paar Code-Schnipsel ins Forum wirft und einige Forderungen dazuschreibt und dann wartet ob einer etwas daraus macht.
    Stell Dir bitte mal vor das machen x-Nutzer so und dann brauchen wir schon Stunden um die vielen Excel-Sheets nachzubauen natürlich mit Dummy Daten die dann nicht passen.

    Ich antworte auf Code-Schnipsel nur noch in Ausnahmefällen. Wenn der Forum Nutzer keine Lust hat sich die Arbeit zu machen, frage ich mich warum sollte ich?
     
  3. Hallo Konrad,

    ich sehe es wie Armin !

    Ein Code, der offenbar ja nicht Deine Bedürfnisse abdeckt, ist kein Ersatz für eine Beispieldatei, ergänzt um eine nachvollziehbare Aufgabenbeschreibung.

    Und einen unstrukturierten Code wie in Deinem Beitrag empfinde ich als Zumutung !

    Gruß
    Aloys
     
    aloys78, 17. Januar 2018
    #3
  4. Ordner via Excelliste erstellen und Unterordner hineinkopieren

    Hallo Armin
    Hallo Aloys,

    erst einmal danke für eure Hinweise.

    Was mein ihr mit Beispieldatei?

    Ich versuche es dann noch einmal so:

    Im Anhang befinden sich 4 Bilder:
    Bild 1 = Excel-Tabellenaufbau mit Anforderungen
    Bild 2 = der passende Code
    Bild 3 = Hilfsmakro,welches ich mir ganz "laienhaft" gebastelt habe mit
    Ordnerstruktur
    Bild 4 = Code der Schaltfläche (welches das Makro auslöst).

    Jetzt noch mal zur genauen Beschreibung:

    In Bild 1 ist sowohl der Aufbau der eigentlichen Tabelle zusehen. Durch diese Tabelle soll es dem Anwender möglich sein, ein Auftragsjahr ab Zelle A2 (für dann gesamte Spalte A) und eine zugehörige Auftragsnummer ab Zelle C2 (für dann gesamte Spalte C) einzutragen. VBA soll nun dafür sorgen, dass durch Eingabe der Jahreszahl und der Auftragsnummer dabei ein Ordner im Pfad "P:Testumgebung" erstellt wird.
    z.B. gemäß Bild 1 wäre sähe der Ordner aus Spalte 1 so aus: 2018_111 und aus Spalte 2 so: 2019_112

    Ab Zelle B2 (für dann gesamte Spalte B) soll automatisch der Hyperlink zum gerade eben erstellten Ordner eingetragen werden.

    Bild 3 zeigt ein neues Tabellenblatt, bei dem ich mir hilfsweise ein Makro geschrieben habe und über eine Schaltfläche auslösen kann.

    Dies sorgt dafür, dass die abgebildete Ordnerstruktur in dem Ordner 2018_111 erstellt wird. Dies funktioniert aber nur dann, wenn ich im Tabellenblatt 2 nochmals die Bezeichnung 2018_111 in Zelle A1 eingebe.

    Insgesamt ist es unter der jetzigen Lösung nur möglich, durch zwei Eingaben hintereinander zum Ziel zu gelangen.

    Mein Wunsch wäre, dass ich diesen Schritt durch einen gesamten Code in VBA schon im Tabellenblatt 1 zu hinterlege, so dass der Anwender nur noch Auftragsjahr und Auftragsnummer eingeben muss und die passenden Ordner mit der dazugehörigen Ordnerstruktur aus Bild 3 werden auf dem Laufwerk P: im Ordner Testumgebung erstellt.

    Ich bekomme aber diese beiden Schritte nicht mit einander verbunden, bzw. weiss ich nicht, wie ich quasi im Code 1 an Code 2 übergebe (Verbindung aus beiden Codes), dafür fehlt mir einfach das Wissen.

    Ich erwarte nicht, dass mir hier jemand eine probate Lösung anfertigt, sondern vielmehr würde ich mir einfach die Unterstützung des Forums wünschen, so dass mir jmd. evtl. die geeigneten Tips gibt oder mir vielleicht eine viel smartere Herangehensweise erläutert.

    Ich bin dankbar für jegliche Unterstützung dahingehend, dass ich neue Denkanstöße bekomme oder aber auch andere Hilfestellung.
    Viele Grüße
    Konrad
     
    GKMueller, 17. Januar 2018
    #4
  5. Hallo Konrad,

    was Armin und Aloys meinen ist du sollst die bzw. eine Exceldatei mit dem code hochladen

    und nicht Bilder vom code.
     
    amicro2000, 17. Januar 2018
    #5
  6. Aber was Ich jetzt schon begriffen hab ist.

    Der Anwender soll Auftragsjahr und Auftragsnummer eingeben.

    Was Ich persöhnlich mit einer Userform machen würde, weil es beim Change ereignis auch sein kann das man eine falsche Eingabe macht.

    Mit der Userform würde Ich vor dem erstellen lassen per Buttton erst die Richtigkeit beider eingaben prüfen und diese auch nochmal mit Msgbox vom Anwender bestätigen lassen.

    Dann kann man einen neuen Ordner z.b. "2018_111" im Ordner "P:Testumgebung" erstellen lassen.

    Das Tabellenblatt mit der Unterordnerstruktur würde Ich so lassen aber evtl. ausblenden und nur als Ordnerstruktur also vorlage benutzen. Die kann man ja dann jederzeit ändern.

    Als übergabe von Code1 nach code2 würde Ich den ersdt neu angelegten Ordnerpfad verwenden.

    Hier aber auch nicht mit dem change ereignis aus Tabellenblatt 2 sondern gleich im anschluss nach dem erstellen des neuen Ordners.

    Natürlich brauchst du auch noch im code rutienen um zu erkennen ob evtl. schon ein Ordner mit Auftragsjahr und Auftragsnummer also "2018_111" im Ordner "P:Testumgebung" in vorhanden ist.

    Wenn ja dann nichts machen damit nicht die schon erstellten Ordner gelöscht werden.

    Ich hoffe du verstehst mich.
     
    amicro2000, 17. Januar 2018
    #6
Thema:

Ordner via Excelliste erstellen und Unterordner hineinkopieren

Die Seite wird geladen...
  1. Ordner via Excelliste erstellen und Unterordner hineinkopieren - Similar Threads - Ordner via Excelliste

  2. [OT] GMail – Speicherplatz trotz gelöschter Mails belegt („Alle E-Mails“-Ordner)

    in Sonstiges
    [OT] GMail – Speicherplatz trotz gelöschter Mails belegt („Alle E-Mails“-Ordner): Hallo zusammen, ich habe ein etwas OT-Thema, das mich im Zuge meines Umstiegs von einem alten Windows-10-Rechner auf einen neuen Windows-11-PC beschäftigt hat – und zwar mein Gmail-Postfach. Da...
  3. Outlook synchronisiert Gmail-Ordner nicht vollständig (Office 2021 zu M365)

    in Microsoft Outlook Hilfe
    Outlook synchronisiert Gmail-Ordner nicht vollständig (Office 2021 zu M365): Hallo zusammen, ich habe ein kleines Synchronisationsproblem und hoffe, Ihr könnt mir weiterhelfen. Auf meinem alten Rechner (Windows 10) nutze ich Office 2021 mit Outlook. Auf meinem neuen...
  4. Outlook - Ordner gesendete Elemente wechseln

    in Microsoft Outlook Hilfe
    Outlook - Ordner gesendete Elemente wechseln: Hallo zusammen, ich hatte bislang einen Windows 10 Rechner mit Outlook (aus meinem Office 365 Paket). Hier war es so: Eine gesendete E-Mail wurde im IMAP Ordner "Sent" abgelegt. Nun habe ich...
  5. Öffentlicher Ordner Kontakte aktualisieren

    in Microsoft Outlook Hilfe
    Öffentlicher Ordner Kontakte aktualisieren: Hallo liebes Forum, ich habe kürzlich administrative Aufgaben für eine Firma übernommen und die Aufgabe erhalten sämtliche Kontakte des öffentlichen Ordner (GAL) auf die neue Geschäfts Adresse...
  6. Nach einer Datei suchen in mehreren Ordnern?

    in Microsoft Excel Hilfe
    Nach einer Datei suchen in mehreren Ordnern?: Hallo, Vielleicht kann mir hier ja wer helfen, das Macro bezieht sich auf ein Maintenance-File das diverse namen beinhaltet. Mit "aarPaths" will ich in mehreren verzeichnissen schauen ob die...
  7. Ordner erstellen via VBA

    in Microsoft Access Hilfe
    Ordner erstellen via VBA: Guten Abend, folgendes Problem. Ich habe eine Tabelle "tblCustomer" mit einem Textfeld "CustomerNO" jetzt möchte ich via VBA prüfen ob im Verzeichnis "aktPublicDocuments" bereits ein Ordner...
  8. via Access-VBA Kalender in einem Öffentlichen Ordner von Outlook auslesen

    in Microsoft Access Hilfe
    via Access-VBA Kalender in einem Öffentlichen Ordner von Outlook auslesen: Hallo, mit folgendem Code greife ich auf den Outlook-Kalender zu. Code: Public Sub TermineImportieren() Dim objAppointment As Outlook.AppointmentItem Dim db As DAO.Database Dim rst As...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden