Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellverknüpfung aus Strings zusammen setzen

Zellverknüpfung aus Strings zusammen setzen
24.11.2019 12:03:44
Norbert
Ich brauche Eure Hilfe!
Ich möchte die funktionierende Verknüpfung :
='D:\Test\2019\[November_Quelle.xlsx]Tabelle1'!$A$1

in der Arbeitsmappe Ziel.xlsx durch Zellinhalte zusammen setzen.
Dieser Ansatz funktioniert nicht:
A4= ="'"&B1&C1&"\["&D1&E1&F1
---> Ergebnis ist der komplette String
Zellinhalte:
  • B1= D:\Test\ C1= 2019 D1= November E1= _Quelle.xlsx]Tabelle1'
  • Gruß
    Norbert
    Anzeige

    6
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zellverknüpfung aus Strings zusammen setzen
    24.11.2019 12:26:28
    Hajo_Zi
    Hallo Norbert,
    das geht nur mit Indirekt. Dazu muss die Datei aber auf sein.

    Prinzipiell mit INDIREKT()
    24.11.2019 12:28:11
    RPP63
    Moin!
    Allerdings muss bei INDIREKT() die Datei im String geöffnet sein!
    Gruß Ralf
    Und wie sähe denn die konkrete Formel aus?
    24.11.2019 14:52:54
    Sibylle
    Guten Tag,
    diese Frage interessiert mich brennend und so zwänge ich mich in den Thread in der Hoffnung, diese gelöst zu bekommen. Darüber würde ich mich sehr freuen.
    Viele Grüße
    Sibylle
    Anzeige
    AW: Und wie sähe denn die konkrete Formel aus?
    24.11.2019 15:05:09
    Hajo_Zi
    =Indirekt("'["&D1&E1&F1")

    AW: Und wie sähe denn die konkrete Formel aus?
    24.11.2019 22:44:48
    Piet
    Hallo Norbert
    hallo Sibylle
    "eine holde Maid in Not, zwängt sich brennend durch ein Nadelöhr, was für ein Malleur"
    würde Heinz Ehrhardt jetzt sagen. Und als Schelm es wagen, dir eine Lösung zu offenbaren!
    Ritter Fipps, in seiner Rüstung, kannte ncoh kein VBA, - DESHALB fiel er von der Brüstung!
    Und Piet sein inneres Kind sprach, du bist doch der "Helle", so Eile mit einem Code zur Stelle!
    Hier bin ich, gib in Zelle B1 bis F1 alles korrekt ein, starte das Makro und schau was passiert!
    Und wie von Zauberhand erscheint sogleich, die passende Formel in Zelle B4,oder wo du willst ...
    Denn setzt du den Cursor in eine andere Zelle, ist die Formel auch dort gleich zur Stelle.
    Wenn man im Befehl Range(B4) eine andere Adresse angibt, oder ganz löscht! (Cursorstellung)
    Die Datei muss dafür NICHT geöffnet sein! Die Formel kann etwas geandert einen ganzen Bereich kopieren.
    Ich hoffe der Code hift euch, und meine Musestunde für den Schelm Heinz Ehrhardt hat euch gefallen.
    mfg Piet
    Option Explicit      '24.11.2019   Piet   für Herber Forum
    '='D:\Test\2019\[November_Quelle.xlsx]Tabelle1'!$A$1
    'dieses Makro erstellt die obige Formel per VBA
    Sub Formel_mitVBA_erstellen()
    Dim Pfad, Jahr, Monat, Datei, Adr1
    Pfad = Trim(Range("B1"))
    Jahr = Trim(Range("C1"))
    Monat = Trim(Range("D1"))
    Datei = Trim(Range("E1"))
    Adr1 = Trim(Range("F1"))
    'Prüfen ob Pfad und Fatei Endungen aufweist?
    If Right(Pfad, 1)  "\" Then Pfad = Pfad & "\"
    If Right(Datei, 1)  "'" Then Datei = Datei & "'"
    Range("B4").Select  '** ggf. Range(B4) aendern oder löschen  (Cursor Position)
    Selection.Formula = "='" & Pfad & Jahr & "\[" & Monat & Datei & "!" & Adr1
    End Sub
    

    Anzeige
    AW: Zellverknüpfung aus Strings zusammen setzen
    25.11.2019 16:28:04
    Daniel
    HI
    im Prinzip so:
    =Indirekt("'D:\Test\2019\[November_Quelle.xlsx]Tabelle1'!$A$1")
    
    dh du brauchst den Zellbezug, so wie er normalerweise geschrieben wird, als Textstring.
    diesen kannst du dir mit den normalen Excelfunktionen und Zellbezügen nach Wunsch Zusammenbasteln, aber das Ergebnis muss halt genauso aussehen wie der normale Zellbezug.
    allerdings haben die Kollegen es ja schon erwähnt: in Indirekt kannst du nur Zellbezüge auf bereits geöffnete Dateien erstellen, also maximal so:
    =Indirekt("'[November_Quelle.xlsx]Tabelle1'!$A$1")
    
    als Workaround, wenn du eine längere Liste aus solchen Zellbezügen hast, bspw weil sich der Monat im Dateinamen ändert und der Rest gleich bleibt, gibst folgenden Workaround, um sich Schreibarbeit zu sparen und nicht jeden Zellbezug von Hand eingeben zu müssen:
    1. erstelle eine Formel, welche die kompltte Formel mit dem externen Bezug als Text erstellt, dh diese Formel muss dann so ein Ergebnis haben "='D:\Test\2019\[November_Quelle.xlsx]Tabelle1'!$A$1"
    2. kopiere dann diese Zellen und füge sie an gleicher oder andere Stelle als Wert ein.
    in den Zellen sollte jetzt der nicht berechnete Formeltext zu sehen sein.
    3. um diesen Text in echte Formeln zu wandeln, markierst du die Zellen und ersetzt mit der Menüfunktion ERSETZEN das "=" durch "=" (also Gleichheitszeichen durch Gleichheitszeichen)
    klingt zunächst widersinnig, etwas durch das gleiche zu ersetzen, aber Excel wird dann erneut prüfen, ob die Texte eine Formel sein könnten und wenn ja, versuchen diese zu berechnen
    (nach dem kopieren + Inhalte einfügen/Werte funktioniert das noch nicht)
    das ganze ist zwar nicht dynamisch, dh wenn sich ein Zellbezug ändert, müsstest du den Vorgang wiederholen, aber es spart dir Schreibarbeit, wenn du mehrere externe Zellbezüge erzeugen willst.
    Gruß Daniel
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige
    Anzeige

    Infobox / Tutorial

    Zellverknüpfung aus Strings zusammen setzen


    Schritt-für-Schritt-Anleitung

    Um eine Zellverknüpfung in Excel aus Strings zusammenzusetzen, kannst du die INDIREKT-Funktion verwenden. Hier ist eine einfache Anleitung:

    1. Zellinhalte vorbereiten: Stelle sicher, dass du die notwendigen Teile für den Zellbezug in den Zellen hast. Zum Beispiel:

      • B1: D:\Test\
      • C1: 2019
      • D1: November
      • E1: _Quelle.xlsx
      • F1: Tabelle1
    2. Formel erstellen: Verwende folgende Formel in einer Zelle, um die Adresse zusammenzusetzen:

      =INDIREKT("'" & B1 & C1 & "\[" & D1 & E1 & "]" & F1 & "'!$A$1")
    3. Datei öffnen: Stelle sicher, dass die Datei, auf die du zugreifen möchtest, geöffnet ist, da INDIREKT nur auf geöffnete Dateien zugreifen kann.


    Häufige Fehler und Lösungen

    • Fehler: #BEZUG!-Fehler

      • Lösung: Überprüfe, ob die Quelldatei geöffnet ist und die Zellinhalte korrekt eingegeben wurden.
    • Fehler: Ergebnis zeigt nicht den erwarteten Wert

      • Lösung: Stelle sicher, dass der Zellbezug aus Text korrekt zusammengesetzt wird. Überprüfe die Zellinhalte auf Tippfehler.

    Alternative Methoden

    Statt INDIREKT kannst du auch VBA verwenden, um Zellverknüpfungen zu erstellen:

    1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

    2. Neues Modul erstellen: Füge ein neues Modul hinzu.

    3. Code einfügen:

      Sub Formel_mitVBA_erstellen()
         Dim Pfad, Jahr, Monat, Datei, Adr1
         Pfad = Trim(Range("B1"))
         Jahr = Trim(Range("C1"))
         Monat = Trim(Range("D1"))
         Datei = Trim(Range("E1"))
         Adr1 = Trim(Range("F1"))
      
         If Right(Pfad, 1) <> "\" Then Pfad = Pfad & "\"
         If Right(Datei, 1) <> "'" Then Datei = Datei & "'"
         Range("B4").Formula = "='" & Pfad & Jahr & "\[" & Monat & Datei & "]" & Adr1 & "'"
      End Sub
    4. Makro ausführen: Führe das Makro aus, um die Formel in die gewünschte Zelle zu schreiben.


    Praktische Beispiele

    Hier sind einige Beispiele, wie du Zellverknüpfungen in Excel erstellen kannst:

    • Beispiel 1: Wenn du einen Zellbezug aus verschiedenen Teilen zusammensetzen möchtest, könntest du dies in den Zellen B1 bis F1 tun und die oben genannte Formel verwenden.

    • Beispiel 2: Mit dem VBA-Code kannst du automatisch Zellverknüpfungen erstellen, auch wenn die Datei nicht geöffnet ist. Einfach die Zellinhalte anpassen und das Makro ausführen.


    Tipps für Profis

    • Dynamische Zellverknüpfungen: Nutze die Kombination aus INDIREKT und TEXTVERKETTEN, um dynamische Zellbezüge zu erstellen.
    • Fehlervermeidung: Verwende WENNFEHLER, um Fehler bei Zellbezügen abzufangen und stattdessen benutzerdefinierte Meldungen anzuzeigen.
    • VBA für größere Projekte: Wenn du regelmäßig Zellbezüge automatisieren musst, ist VBA eine leistungsstarke Lösung.

    FAQ: Häufige Fragen

    1. Wie kann ich Zellbezüge in Excel dynamisch ändern? Du kannst die Zellinhalte in den referenzierten Zellen ändern, um die Zellbezüge dynamisch zu gestalten.

    2. Was ist der Unterschied zwischen INDIREKT und normalem Zellbezug? INDIREKT ermöglicht es dir, Zellbezüge aus Textstrings zu erstellen, die die Datei jedoch geöffnet sein müssen.

    3. Kann ich Zellverknüpfungen ohne VBA erstellen? Ja, du kannst Zellverknüpfungen mit Excel-Formeln erstellen, aber die Flexibilität ist begrenzt im Vergleich zu VBA.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige