Thema Datum  Von Nutzer Rating
Antwort
Rot Kopieren, Umbenennen, Verlinken von Dateien, Zellabhängigkeit
17.01.2021 16:50:18 Matthias
NotSolved

Ansicht des Beitrags:
Von:
Matthias
Datum:
17.01.2021 16:50:18
Views:
1156
Rating: Antwort:
  Ja
Thema:
Kopieren, Umbenennen, Verlinken von Dateien, Zellabhängigkeit

Hallo liebe Forengemeinde,
kurz zu mir: Matthias aus Wien und dankbar für jede Hilfe, da ich leider noch nie mit Makros zu tun hatte.

Vorweg - ich habe 3 Dateien:
- Übersichtsdatei
- Templatedatei
- Arbeitsdatei

Aufgabe:
- In der Übersichtsdatei befinden sich die Spalten Laufende Nr. - Titel - Bearbeiter - Betreuer - Anfangsdatum - Rückgabe Datum 1 - Rückgabe Datum 2
- Außerdem befindet sich in der Übersichtsdatei ein Makro Button.
- Bei Drücken dieses Buttons, sollen je nach Zeile, in der man sich gerade befindet / in der gerade neue Daten eingetragen werden folgendes passieren (je angefangener Zeile wird eine jeweils neue Arbeitsdatei generiert):
- Kopieren der Templatedatei in neue Arbeitsdatei
- Umbenennen der Templatedatei und zwar entsprechend dem Namen, der in der entsprechenden "Titel"  Zelle eingetragen wurde.
- Kopieren von Titel - Bearbeiter - Betreuer - Anfangsdatum der jeweiligen Zeile in die neue Arbeitsdatei in definierte Zellorte.
- Herstellen einer Verlinkung zwischen Arbeits- und Übersichtsdatei. Vor allem wegen "Rückgabe Datum 1 und 2" --> Wenn in der Arbeitsdatei dort Werte eingetragen werden, sollen diese in der entsprechenden Zeile in der Übersichtsdatei ebenso erscheinen. Cool wäre auch eine Verlinkung mit Titel usw., damit auch hier Änderungen übernommen werden.

Folgendes habe ich mehr oder weniger lösen können:
- Template Datei wird kopiert
- Template Datei wird gemäß Zelle X umbenannt und dient anschließend als Arbeitsdatei.
- Daten aus Übersichtsdatei werden in Arbeitsdatei kopiert.

Mir fehlt noch folgendes:
- Der eine Makro Button soll für jede neu hinzugefügten Zeile in der Übersichtsdatei (Laufende Nr,Titel, Bearbeiter, Betreuer,....) eine neue Arbeitsdatei aus dem Template generieren und gem. dem neuen Titel umbenennen. Derzeit ist im Makro Code leider eine Fixzelle (Titel) hinterlegt.
- Sobald die Arbeitsdatei erstellt wurde, soll der Titelname in der Übersichtsdatei zum Hyperlink umgewandelt werden.
- Wenn in Arbeitsdatei ein Datum eingetragen wird, soll dieses automatisch in der Übersichtsdatei erscheinen.
- Daten aus Übersichtsdatei werden zwar in Arbeitsdatei kopiert, derzeit sind aber eben auch da Fixzellen eingetragen. Der Code soll respektive aber immer weiterspringen in die nächste Zeile / sobald ein neues YB erstellt wird.

Untenstehend der bisherige Code: 
Sub Kopieren()

'Abfrage Datei erstellen MESSAGEBOX

Dim iClick As Integer
   iClick = MsgBox( _
         prompt:="Ja oder nein?", _
         Buttons:=vbYesNo, _
         Title:="Neues YellowBelt erstellen?")
   If iClick = vbYes Then

'Kopieren und Umbenennen: Template in neuen Ordner & Benennen gemäß Titel Zelle

Dim MyFSO As FileSystemObject
Dim qFolder As String, tFolder As String
Dim tFileOld As String, tFileNew As String
Dim newFileName As String

qFolder = "C:\Users\matth\Desktop\Excel test\Template\Template.xlsx"
tFolder = "C:\Users\matth\Desktop\Excel test\Kopierte Templates\"
tFileOld = "C:\Users\matth\Desktop\Excel test\Kopierte Templates\Template.xlsx"
newFileName = tFolder & Range("B5").Value & ".xlsx"

Set MyFSO = CreateObject("Scripting.FileSystemObject")
MyFSO.CopyFile qFolder, tFolder
    If MyFSO.FileExists(newFileName) Then
    MsgBox "Titel existiert bereits, bitte neuen wählen!"
    Else
    Name tFileOld As newFileName
    'MessageBox Meldung, dass YellowBelt erstellt wurde
      MsgBox "YellowBelt erstellt"
    End If

'Daten in neues Dokument kopieren
Dim wksQ As Worksheet
Dim wksZ As Worksheet

Application.ScreenUpdating = False
    Set wksQ = ActiveSheet
    Set wksZ = GetObject("C:\Users\matth\Desktop\Excel test\Kopierte Templates\Titel 3.xlsx").Sheets("Tabelle1")
    With wksZ
        .Range("L2") = wksQ.Range("B3").Value
        .Range("M2") = wksQ.Range("C3").Value
        .Range("N2") = wksQ.Range("D3").Value
        .Range("O2") = wksQ.Range("E3").Value
        With .Parent
            Windows(.Name).Visible = True
            .Close SaveChanges:=True
        End With
    End With
    Application.ScreenUpdating = True


   ElseIf iClick = vbNo Then
   End If
End Sub


Ich hoffe, es ist halbwegs verständlich dargestellt.
Bin wie gesagt über jede Hilfe äußerst dankbar!
Falls ihr generell Tipps / Links zum Einlesen/Einlernen von Visual Basic habt bitte lasst mir diese zukommen :)

Glg Matthias


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • 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
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • 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

Thema Datum  Von Nutzer Rating
Antwort
Rot Kopieren, Umbenennen, Verlinken von Dateien, Zellabhängigkeit
17.01.2021 16:50:18 Matthias
NotSolved