Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1600to1604
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bezu´g auf andere Datei flexibel zusammensetzen

Bezu´g auf andere Datei flexibel zusammensetzen
10.01.2018 08:37:50
Heinz
Guten Morgen Liebe Excellenten,
ich habe folgendes Problem:
Ich haben eine PersonaldateiB, in welcher es für jeden der ca. 100 Mitarbeiter
Werte zum Umsatz oder zur Arbeitszeit, zum Geburstag usw. gibt.
In einer anderen DateiA habe ich eine Tabelle, in welcher jeder Mitarbeiter in einer
eigenen Spalte geführt wird. In der ersten Zeile steht also der Name des Mitarbeiter, in meinem Beispiel z.B. Mitarbeiter1, Mitarbeiter2, usw.
In einer der Zellen darunter hohle ich mir Werte für Mitarbeiter1 aus der DateiB z.B. mit dem Bezug
'M:\Umsatzplanung\2018\Planung_2018_28112017.xlsx'!Umsatz_Mitarbeiter1
Diese Formel kann ich jetzt nach rechts ziehen, muss aber dann den Teil nach dem Unterstrich mit dem Namen des Mitarbeiters aus der obersten Zelle ersetzen.
Kenn ich den Bezug so gestalten, daß Excel nach dem Unterstrich den Wert nimmt, der
in der obersten Zelle steht?
Ich freue mich auf Eure Ideen.
Heinz

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beispiel
10.01.2018 08:54:21
Fennek
Hallo,
wenn man die $-Zeichen in der Formel richtig setzt, sollte die Formel auch kopierbar/anpassbar sein. Aber ohne Beispiel bleibt alles nur allgemein.
mfg
AW: Beispiel
10.01.2018 10:25:12
heinz
Hallo,
ich habe keine Ahnung, wie man als Beispiel zwei voneinander unabhängige Dateien
als Beispiel anhängen kann und wie dann trotzdem die Verknüpfung Bestand haben soll.
Heinz
AW: Beispiel
10.01.2018 11:12:31
fcs
Hallo Heinz,
die Funktion INDIREKT mit der so etwas möglich ist funktioniert nur wenn die jeweiligen Dateien gleichzeitig geöffnet sind - ist in deinem Fall also keine Option.
Du könntest die Formeln per Makro anpassen, nachdem du die Formeln für den 1. Mitarbeiter in die Spalten der anderen Mitarbieter kopiert hast.
Sub MitarbeiterName_in_Formeln_Anpassen()
Dim wks As Worksheet
Dim strMA1 As String
Dim strMA As String
Dim Spalte As Long, spaMA1 As Long
Dim Zeile1 As Long, ZeileL As Long
Set wks = ActiveSheet
With wks
spaMA1 = 2 'Spalte B - Nummer der Spalte mit dem 1. Mitarbeiternamen
strMA1 = .Cells(1, spaMA1).Text 'Name des 1. Mitarbeiters
Zeile1 = 2 'Nummer der 1. Zeile mit Formeln in denen MA-Name ersetzt werden soll
ZeileL = 25 'Nummer der letzten Zeile mit Formeln in denen MA-Name ersetzt werden soll
For Spalte = spaMA1 + 1 To .Cells(1, .Columns.Count).End(xlToLeft).Column
strMA = .Cells(1, Spalte)
With .Range(.Cells(Zeile1, Spalte), .Cells(ZeileL, Spalte))
.Replace what:="Umsatz_" & strMA1, replacement:="Umsatz_" & strMA, _
lookat:=xlPart
End With
Next
End With
End Sub

Das Makro kannst du in einem allgemeinen Modul deiner persönlichen Makroarbeitsmappe speichern.
Gruß
Franz
Anzeige
AW: kleiner Test
10.01.2018 14:03:40
Phi
Wenn man in Mappe2 auf Mappe1 per Formel zugreift:

=[Mappe1]Tabell1!$A$1
Wie üblich müssen nur die "$"-Zeichen entfernt werden, damit der relative Bezug kopiert werden kann.
Danke an alle
10.01.2018 15:49:56
Heinz
Hallo Liebe Excellenten,
da ich in VBA alles andere als geübt bin und auch die
Lösung über den direkten Bezug (ohne $-Zeichen) nur funkt,
wenn die Tabellen in beiden Dateien die gleiche Struktur haben,
habe ich eine anderen Lösung gesucht und gefunden.
Über Index ziehe ich die Daten aus der anderen Datei.
Dabei lasse ich durch Vergleich ermitteln, aus welcher Zeile
der Tabelle der Werte kommen soll und aus welcher Spalte ich den
Werte haben will.
In etwa so
=INDEX('M:\Umsatzplanung\2018\[Planung_2018_28112017.xlsx]Umsatzplanung 2018'!Umsatzplanung_2018; VERGLEICH(C$5; INDEX('M:\Umsatzplanung\2018\[Planung_2018_28112017.xlsx]Umsatzplanung 2018'!Umsatzplanung_2018;; VERGLEICH("Mitarbeiter"; INDEX('M:\Umsatzplanung\2018\[Planung_2018_28112017.xlsx]Umsatzplanung 2018'!Umsatzplanung_2018;1;); 0)););VERGLEICH("Break Even"; INDEX('M:\Umsatzplanung\2018\[Planung_2018_28112017.xlsx]Umsatzplanung 2018'!Umsatzplanung_2018;1;);) )
Hat zwar ein bisschen Zeit gekostet, ist aber flexibel.
Dank an alle und einen schönen Abend
Heinz
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige