114 Aufrufe
Gefragt in Tabellenkalkulation von twototoulouse Mitglied (377 Punkte)
Hallo!

Ist es möglich beim Kopieren von Verknüpfungen selbst zu entscheiden, was sich dabei ändert.

Ich würde gerne folgende Datei kopieren:

='C:\Users\h-jm\Desktop\FSD\Januar\[04.01..xlsm]Kunde 2'!$C11

indem ich den Anfasser (schwarzes Kreuz) unten rechts der Zelle nach rechts ziehe. Dabei soll sich an der ganzen Verknüpfung aber nur das Datum vom 04.01. auf den 05.01. usw. ändern. Wenn ich die Verknüpfung so ziehe, wie dargestellt, ändert sich nichts.

Ist das möglich?

Gruß

Hans-Jörg

3 Antworten

+1 Punkt
Beantwortet von xlking Experte (1.5k Punkte)

Hallo Hans-Jörg,

Ja das ist möglich, aber nur per Makro. Anders geht's aus meiner Sicht nicht. Führe einfach das folgende Makro aus:

Sub DatumInFormelKopieren()

 Dim startdat As String, enddat As String, startdt As Date, enddt As Date, dt As Date, frml As String, f As String, i As Long
 
 'Hier die Formel eingeben
 frml = "='C:\Users\h-jm\Desktop\FSD\mmmm\[dd.mm..xlsm]Kunde 2'!$C11"
 
 Do
 startdat = InputBox("Geben Sie ein Startdatum im Format dd.mm.yyyy ein.", "nach rechts kopieren", DateSerial(Year(Date), 1, 1))
 Loop Until IsDate(startdat)
 Do
 enddat = InputBox("Geben Sie ein Enddatum im Format dd.mm.yyyy ein.", "nach rechts kopieren", DateSerial(Year(Date), 12, 31))
 Loop Until IsDate(enddat)
 
 startdt = CDate(startdat): enddt = CDate(enddat)
 
 Application.DisplayAlerts = False
  
 For dt = startdt To enddt
   i = i + 1
   f = Replace(frml, "mmmm", Format(dt, "mmmm"))
   f = Replace(f, "dd.mm.", Format(dt, "dd.mm."))
   ActiveCell.Offset(0, i - 1).FormulaLocal = f
 Next dt
 
 Application.DisplayAlerts = True

End Sub

Gruß Mr. K.

0 Punkte
Beantwortet von twototoulouse Mitglied (377 Punkte)
Hallo Mr. K.!

Unglaublich, es funktioniert!!!

Vielen Dank für Deine Mühe, es ist wirklich super, was ihr hier für eine unglaubliche Hilfe seid.

Du hast mir sehr geholfen!

Gruß

Hans-Jörg
0 Punkte
Beantwortet von vbastler Mitglied (228 Punkte)
Bearbeitet von vbastler

Moin allerseits,

in meinen XL Versionen 2019 & 21 ist mir aufgefallen, dass XL inzwischen Muster in Einträgen erkennt und für nächste Zeilen vorschlägt. Bei einem komplexen Text, wie einem Link, scheint XL aber überfordert. Als Bastelei habe ich mir mit folgender Formel einen Workaround ohne VBA gebaut:

A1: 1, A2: =A1+1, runterkopieren bis A28,29,30,31

B1:  ="C:\Test\2024-01\01."&A1&".2024.xlsx"

Grüße

Noch als Nachtrag: Links sind bekanntlich Texte, die man in XL unabhängig von der Version sehr kreativ zusammenbauen kann. Präfix in Spalte A, dynamischer Teil in Spalte B, Postfix in Spalte C. Das Datum kann man über die Funktion =HEUTE() [ggf + x oder auch ZEILE()] einfügen oder aber einfach mit Strg + . (Punkt) . In Spalte D setzt man den Link dann mit = A & B & C zusammen.

Grüße d'r Bastler von den VBAsteleien.de

...