Clever-Excel-Forum

Normale Version: Wert einer Zelle verlinken
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe ein Excel File mit den Tabellenblättern "Fragekatalog Vorlage" und "Daten". Per Makro wird "Fragekatalog Vorlage" kopiert (als Fragekatalog Vorlage (2) benannt) und ans Ende der Tabellenblätter gestellt. Bis hierhin habe ich es selbst hinbekommen.

Jetzt kommt der Teil bei dem ich Hilfe brauche:
Anschließend soll der Wert der Zelle F24 in das Tabellenblatt "Daten" 1n die erste freie Zelle in Spalte A geschrieben werden. Nicht kopiert, sondern verlinkt, dass, falls ich den Wert später ändere, er auch im Blatt Daten geändert wird. Zusätzlich soll in die gleiche Zeile in Spalte B das heutige Datum geschrieben werden.


Danach wird das kopierte Blatt in das heutige Datum umbenannt und das Makro beendet. Auch das hab ich hinbekommen.

Wäre toll wenn mir jemand helfen könnte.

Gruß Christian
 
Hallo,

kannst du deine bisher erstellte Excelmappe hier hochladen? Dann können wir darauf aufbauen.

Gruß
Huzzim
Wie von vorherige Nachricht empfohlen, würde eine Datei (ohne vertrauliche Daten) hier sehr helfen.
Nichtdestodrotz, hier ist ein VBA-Code versuch, der den von Ihnen beschriebenen Teil des Makros implementiert:
Code:
Sub FragekatalogKopieren()
    Dim wsFragekatalog As Worksheet
    Dim wsDaten As Worksheet
    Dim wsNeu As Worksheet
    Dim letzteZeile As Long
   
    ' Definiere die entsprechenden Arbeitsblätter
    Set wsFragekatalog = ThisWorkbook.Sheets("Fragekatalog Vorlage")
    Set wsDaten = ThisWorkbook.Sheets("Daten")
   
    ' Kopiere den Fragekatalog und füge ihn ans Ende ein
    wsFragekatalog.Copy After:=Sheets(Sheets.Count)
    Set wsNeu = ActiveSheet
    wsNeu.Name = "Fragekatalog Vorlage (2)"
   
    ' Finde die letzte Zeile in Spalte A des Blatts "Daten"
    letzteZeile = wsDaten.Cells(wsDaten.Rows.Count, "A").End(xlUp).Row
   
    ' Schreibe den Wert von F24 in die erste freie Zelle in Spalte A des Blatts "Daten" (verlinkt)
    wsDaten.Cells(letzteZeile + 1, "A").Formula = "='" & wsNeu.Name & "'!F24"
   
    ' Schreibe das heutige Datum in Spalte B der gleichen Zeile
    wsDaten.Cells(letzteZeile + 1, "B").Value = Date
   
    ' Benenne das kopierte Blatt um
    wsNeu.Name = Format(Date, "dd.mm.yyyy")
   
    ' Aktiviere das Blatt "Daten"
    wsDaten.Activate
End Sub
Sie können diesen Code am Ende deines bestehenden Makros einfügen oder als eigenständiges Makro verwenden.
Wenn Sie das Makro ausführen, wird das Arbeitsblatt "Fragekatalog Vorlage" kopiert, als "Fragekatalog Vorlage (2)" umbenannt und ans Ende der Tabellenblätter gestellt.
Dann wird der Wert von Zelle F24 des kopierten Blatts in die erste freie Zelle in Spalte A des Blatts "Daten" geschrieben (als Verknüpfung),
und das heutige Datum wird in Spalte B der gleichen Zeile geschrieben.
Anschließend wird das kopierte Blatt in das heutige Datum umbenannt.
Hallöchen,

Zitat: wsNeu.Name = "Fragekatalog Vorlage (2)"

Wozu soll das gut sein? Wenn ein Blatt kopiert wird, erhält es doch den Namen (2), sofern der Name nicht bereits vorhanden ist. Sollte er hier nicht, da das Blatt später umbenannt wird..
Stattdessen könnte man das Blatt gleich mit dem Datum umbenennen.

Ist das etwa wieder so ein chatGPT code ??? Die sollte man nicht einfach 1:1 übernehmen sondern drüberschauen und drüber nachdenken, was da verbesserungsbedürftig ist und selbiges auch einarbeiten ... Eventuell kann man chatGPT auch mal das "Du" anbieten ...

Unabhängig davon, wenn man die Aktion am gleichen Tag 2x durchführt, läuft das auf einen Fehler hinaus. Da wäre eine Fehlerbehandlung oder Prüfung nebst irgendwelchen zusätzlichen Aktionen angeraten.
Hallo zusammen, 

vielen Dank für eure Nachrichten, im Anhang die Datei.
Der Code von Niko funktionier, vielen Dank an dich  18


Gruß Christian