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. Ordner: Synchronisierungsprobleme

    in Microsoft Outlook Hilfe
    Ordner: Synchronisierungsprobleme: Hallo liebes Forum, ich habe bislang Mail und Kalender von Windows genutzt. Aufgrund der Umstellung auf Outlook und der damit verbundenen Anzeige von Werbung habe ich auf Thunderbird gewechselt....
  3. Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA

    in Microsoft Excel Hilfe
    Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA: Hallo Leute, Hoffentlich könnt ihr mir hier helfen, ich krieg den Syntax einfach nicht hin (wahrscheinlich ist es auch totaler käse den ich programmiert habe). Also im Grunde soll eine Datei...
  4. Outlook 2019: Schriftart der Ordner/Posteingang ändern

    in Microsoft Outlook Hilfe
    Outlook 2019: Schriftart der Ordner/Posteingang ändern: Folgendes Problem: Ich habe jetzt endlich Office 2019 installiert, hatte vorher 2010. Im Outlook 2010 war die Ansicht der linken Seite (Dor, wo Posteingang ist samt den ganzen Ordnern) größer als...
  5. Spam Ordner lässt sich nicht leeren

    in Microsoft Outlook Hilfe
    Spam Ordner lässt sich nicht leeren: Hallo zusammen, ich habe einen account bei 1und1 und zwei Mailadressen eingerichtet. Beide Konten sind als imap in outlook eingerichtet. Bei einem der beiden Konten kann ich den Spamordner in...
  6. emails per vba mit eigenem Ordner speichern

    in Microsoft Outlook Hilfe
    emails per vba mit eigenem Ordner speichern: Hallo Forumgemeinde! Bin neu hier und hoffe das ihr mir bei meinem Vorhaben behilflich sein könnt. Ich möchte mit beiliegend gefundenem VBA-Code (hoffe, dass ich diesen hier überhaupt hochladen...
  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