online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Markus1976 vom 29.06.2022, 11:52 Options

Lösung

Datum in Formelbezugspfad

Hallo miteinander,

nachdem ich hier schon ein paar mal echt super Tipps bekommen habe wende ich mich mal wieder vertrauensvoll an die Profis.

Mein Probelm ist folgendes:

Ich muss monatlich Zahlen des aktuellen Monats mit den Zahlen des Vormonats in Excel vergleichen.

Die Ausgangsdatei (des aktuellen Monats, i.d.F. 04) wird in einem Monatsordner (immer gleiche Namensgebung für Datei und Tabellenblatt) gespeichert, bspw.:
'U:\Ordner\Tätigkeit\Monatsordner 201004\Dateiname.xlsx

Die Zahl in dieser Ausgangsdatei soll mit der Zahl aus dem Vormat verglichen werden, die in folgendem Ordner liegt:
'U:\Ordner\Tätigkeit\Monatsordner 201003\Dateiname.xlsx

Das einzige was sich ändert ist der Monat (bei Jahreswechsel das Jahr). Der Dateinamen, Tabellenblatt und Position der zu vergleichenden Zahl bleiben gleich.

Der Bezug auf die Zelle (L7) des Vormonats lautet:
='U:\Ordner\Tätigkeit\Monatsordner 201003\[Dateiname.xlsx]Tabellenblatt'!L7

Ich habe nun versucht über "&" und Teil() - Formeln die Ordnerbenennung (JJJJMM) abzuändern und den Bezug so herzustellen, aber das funktioniert nicht.

Hat jemand einen Tipp oder Trick?

Herzlichen Dank schon mal.

Grüße

Markus


Antwort schreiben

Antwort 1 von M.O. vom 29.06.2022, 12:18 Options

Hallo,

hast du auch die Funktion Hyperlink genutzt?

Bsp:
=HYPERLINK("U:\Ordner\Tätigkeit\Monatsordner "&TEIL(C8;34;6)+1&"\Dateiname.xlsx")

In C8 steht dabei dein ursprünglicher Link.
Hier wird dann um ein Monat erhöht - aus 201003 wird 201004.

Gruß

M.O.

Antwort 2 von Markus1976 vom 29.06.2022, 12:51 Options

Servus M.O.,

herzlichen Dank für die schnelle Antwort. leider hat es mein Problem noch nicht gelöst, evtl. habe ich mich mißverständlich ausgedrückt.

Ich möchte, dass der Wert ausZelle (L7) des Vormonats aus
(='U:\Ordner\Tätigkeit\Monatsordner 201003\[Dateiname.xlsx]Tabellenblatt'!L7)
in meiner aktuellen Datei ('U:\Ordner\Tätigkeit\Monatsordner 201004\Dateiname.xlsx) erscheint so dass ich mit diesem Wert arbeiten kann.

Über den Hyperlink kann ich zwar die Vormonatsdatei öffnen aber direkt der Wert wird nicht übernommen, oder?

Gruß

Markus

Antwort 3 von M.O. vom 29.06.2022, 13:14 Options

Hallo Markus,

habe dich falsch verstanden, liegt wohl an der Hitze :-).

Wenn du den Bezug zu einer Zelle variabel gestalten willst, musst du die Funktion INDIREKT benutzen. Diese funktioniert aber nur bei geöffneten Dateien. Ist die Datei geschlossen, so erhälst du eine Fehlermeldung.
Eine Lösung ist meines Wissens in einem solchen Fall nur per VBA möglich.

Gruß

M.O.

Antwort 4 von Markus1976 vom 29.06.2022, 13:21 Options

Hallo M.O.,

herzlichen Dank für Deine Mühen.

Zwei Dateien gleichen Namens zu öffnen ist in Excel nicht möglich, es sei denn man macht ein neues Excel auf. Da kann ich bei der jetzt verwendeten Copy Paste Version bleiben.

Ein Tipp für eine Lösung in VBA hast Du nicht, oder?

Falls Nein, alle VBA Profis bitte helfen.

Viele sonnige Grüße
Markus

Antwort 5 von M.O. vom 29.06.2022, 13:28 Options

Hallo Markus,

für eine VBA-Lösung bräuchte man ein paar mehr Informationen:
In welcher Zelle ist die Verknüpfung zur Datei des Vormonats hinterlegt? Oder soll der Vormonat aus dem Namen der aktuellen Datei ermittelt werden?
In welche Zelle soll die Verknüpfung eingefügt werden?

Gruß

M.O.

Antwort 6 von Markus1976 vom 29.06.2022, 13:43 Options

Hallo,

Die Werte aus dem Vormonat sollen in den Spalten "R" und "T" beginnend in Zeile 6 bis Zeile 91 eingefügt/angezeigt werden.

Die Datei heisst jeden Monat gleich, nur der Ordner wird jeden Monat kopiert umbenannt auf den aktuellen Monat, das aktuelle Excel-Sheet aus Access in den Spalten G bis L neu befüllt.

Ein Vergleich in Access scheidet aus, da in der aktuellen Version noch händisch korrigiert werden muss. Eine Rücktransferierung der Daten in Access aufgrund des Sheet Aufbaus ausscheidet.

Im Prinzip müsste der Bezug zum Vormonatsfeld etwa in der Art aussehen:
(='U:\Ordner\Tätigkeit\Monatsordner (201004 -1)\[Dateiname.xlsx]Tabellenblatt'!L6)
Wobei die Zelle L6 des Vormonats in Zelle T6 des aktuelle Monats ausgegeben werden sollte.

Der Vormonat sollte also aus dem Pfad der aktuellen Datei (wie ein paar Zeilen weiter oben dargestellt) "abgeleitet" werden.

Hoffe das hilft einigermaßen weiter ansonsten einfach melden ich schau dass ich es dann etwas verständlicher und ausführlicher darstellen kann.

VG

Markus

Antwort 7 von M.O. vom 29.06.2022, 13:58 Options

Hallo Markus,

mal sehen, was ich machen kann.

Gruß

M.O.

Antwort 8 von M.O. vom 29.06.2022, 15:52 Options

Hallo Markus,

doch noch eine Nachfrage:
T6 des aktuellen Monats = L6 des Vormonats
und welcher Bezug zum Vormonat soll in R6 hergestellt werden?

Gruß

M.O.

Antwort 9 von Markus1976 vom 29.06.2022, 16:31 Options

Hallo,

hat etwas gedauert, tut mir leid.

R6 des aktuellen Monats = G6 des Vormonats

Das ganze dient dazu die Entwicklung einzelner Positionen zwischen den Monaten darzustellen.

Danke Dir und geniesse bitte auch das super Wetter draussen.

Viele Grüße

Markus

Antwort 10 von M.O. vom 29.06.2022, 20:18 OptionsLösung

Lösung
Hallo Markus,

nachdem ich noch etwas das Wetter genossen habe, hier ein Code (allerdings nicht groß getestet):

Sub Verknuepfung()

Dim wbpfad, npfad, rpfad As String
Dim j, m, zeile As Long

'Pfad der aktuellen Datei wird eingelesen
wbpfad = ThisWorkbook.Path

'Jahr wird aus Pfad ermittelt
j = Mid(wbpfad, 34, 4)

'Monat wird aus Pfad ermittelt
m = Right(wbpfad, 2)

'Pfad ohne Jahr und Monat wird ermittelt
rpfad = Left(wbpfad, 33)

'Vormonat wird ermittelt
m = m - 1

'Prüfung ob Mappe mit Vorjahresdatum geöffnet werden muss
If m = 0 Then
 m = 12
 j = j - 1
End If

'neuer Pfad wird erstellt
npfad = rpfad & j
'falls Monat einstellig, führende Null einfügen
If m < 10 Then
 npfad = npfad & "0" & m
 Else
 npfad = npfad & m
End If

'Verknüpfungen werden eingefügt
'Spalte R = 18, Spalte T =  20

For zeile = 6 To 91
Cells(zeile, 18).FormulaLocal = "='" & npfad & "\[Dateiname.xlsx]Tabellenblatt'!L" & zeile
Cells(zeile, 20).FormulaLocal = "='" & npfad & "\[Dateiname.xlsx]Tabellenblatt'!G" & zeile

Next zeile

End Sub


Du musst den Code in ein Standardmodul einfügen. Falls du dich mit VBA nicht gut auskennst, dann schau mal
hier nach.
Wichtig: Die Arbeitsmappe muss abgespeichert sein.
Probier das Makro erst einmal in einer Testdatei aus.

Gruß
M.O.

Antwort 11 von Markus1976 vom 30.06.2022, 13:15 Options

Hallo M.O.,

herzlichen Dank für Deine Mühen.

Du bist echt der Hammer, ich habe den VBA Code auf meine tatsächliche Pfadstruktur angepasst, in ein Standardmodul eingefügt und laufen lassen!

Ergebnis: Perfekt, alles so wie es sein soll! Eine weitere Fehlerquelle eliminiert und was dazu gelernt! So soll es sein.

Nochmals vielen Dank.

Grüße

Markus

Antwort 12 von M.O. vom 30.06.2022, 13:34 Options

Hallo Markus,

danke für die Rückmeldung. Es freut mich, dass alles funktioniert.

Gruß

M.O.

Ähnliche Themen

automatisches Datum
roxianna  18.12.2008 - 20 Hits - 3 Antworten

Frage zu Datum
netmx  06.05.2009 - 578 Hits - 35 Antworten

Datum farbig
Jeremy  21.10.2009 - 117 Hits - 2 Antworten

Datum vergleichen
abldienst  01.04.2010 - 158 Hits - 1 Antwort

Datum
Ronja82  08.04.2010 - 160 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026