Office: (Office Version unbekannt) Verknüpfung zu Excel, aber dynamisch

Helfe beim Thema Verknüpfung zu Excel, aber dynamisch in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich möchte in einem Word-Dokument aus einer Excel-Datei Werte auslesen (Office 365). Das Ganze soll aber dynamisch sein. Excel... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von Zoloromba, 2. November 2020.

  1. Verknüpfung zu Excel, aber dynamisch


    Hallo zusammen,

    ich möchte in einem Word-Dokument aus einer Excel-Datei Werte auslesen (Office 365).

    Das Ganze soll aber dynamisch sein.

    Excel enthält 12 Sheet (Monate) mit jeweils 31 Zeilen, dazu in Spalte 2 der auszulesende Wert.

    In Word soll nun ein Datum dazu führen, dass der auszulesende Wert erscheint. Das kann auch die getrennte Angabe von MM und DD sein, ohne dass es ein zusammenhängendes Datum muss.

    Das Problem: Es soll mit beliebigen Kopien des Word-Dokuments funktionieren.

    Ich kann also nicht einen Wert aus dem Word-Dokument auslesen in Excel einfügen und weiterverarbeiten.

    Im Grunde geht es um 365 Word-Dokumente, die sich selbst "ihren" passenden Tageswert holen sollen.


    Ich habe es versucht mit Steuerelementen (Monat und Tag), die zweimal im doc vorkommen. Einmal als Eingabe. Und einmal in einer Verknüpfung zu Excel a la "TabelleXZyS2"

    Das klappt aber nur einmal. Danach wird der Link statisch.

    Wer weiß Rat? Habe auch nix gegen Makros.

    Vielen Dank, Michael
     
    Zoloromba, 2. November 2020
    #1
  2. Gerhard H Erfahrener User
    Hallo Michael,

    per Makro geht das schon. Du kannst von Word aus die Excelmappe aufmachen, das Datum in Spalte A suchen und den korrespondierenden Wert in das Dokument schreiben.

    das nachfolgende Beispiel funktioniert unter folgenden Annahmen:

    Word-Dokument:
    • Es wird eine Dokumentvorlage verwendet
    • Das Datum wird aus einem Datumsauswahl-Inhaltssteuerelement ausgewählt. Dessen Tag lautet: gesuchtesDatum
    • Für die Aufnahme des korrespondierenden Eintrags gibt es ein Text-Inhaltssteuerelement mit dem Tag Bemerkung .
    • Das unten stehende Makro kommt ins Modul ThisDocument der Word-Dokumentvorlage (im angehängten Dokument bereits enthalten). Wenn deine Dokumente auf der normal.dotm beruhen, kommt das Makro in Thisdocument der normal.dotm. Es kann dann allerdings nur auf deinem Rechner verwendet werden.


    Excel-Datei:
    • Sie heißt "Jahresmappe.xlsx" und ist im selben Ordner gespeichert wie das Word-Dokument
    • Die 12 Blätter sind nach den vollen Monatsnamen benannt (Januar, Februar...)
    • Die Kalenderdaten stehen in Spalte A, die korrespondierenden Werte in Spalte B


    Das Makro:
    Code:
    Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
    Dim excelinstanz As Object, excelmappe As Object, excelsheet As Object, fundBereich As Object
    Dim strDatei As String
    Dim zeile As Long
    Dim strDatum  As String, strJahr As String, strMonat As String
    
    'nur in Aktion treten, wenn der Tag des ContentControls "MiNr" lautet:
    If CC.Tag <> "gesuchtesDatum" Then Exit Sub
    
    
    'Datum aus dem Inhaltssteuerelement auslesen
    If Not IsDate(CC.Range.Text) Then
        MsgBox "Bitte das Datumsformat TT.MM.JJJJ verwenden!"
        Exit Sub
    End If
     
    On Error GoTo fehler
    
    'Jahr und Monat aus dem Datum extrahieren
    strDatum = CC.Range.Text
    strJahr = Format(strDatum, "yyyy")
    strMonat = Format(strDatum, "MMMM")
    
    
    'Excel-Mappe öffnen
    Set excelinstanz = CreateObject("Excel.application")
    excelinstanz.Visible = True 'zum Testen
    strDatei = ThisDocument.Path & "\Jahresmappe.xlsx" '*** Mappennamen anpassen
    Set excelmappe = excelinstanz.workbooks.Open(FileName:=strDatei)
    Set excelsheet = excelmappe.sheets(strMonat)
    '
    ' in Spalte A der Exceltabelle suchen
    Set fundBereich = excelsheet.Range("A:A").Find(what:=strDatum, LookIn:=-4163) '-4163 entspricht xlvalues
    
    'Reaktion, falls das Datum nicht gefunden wird
    If fundBereich Is Nothing Then GoTo fehler
    
    'ansonsten Zeilen-Nummer merken
    zeile = fundBereich.Row
    Debug.Print zeile
    'Übertragen in die ContentControls:
        With ActiveDocument
            .SelectContentControlsByTag("Bemerkung").Item(1).Range.Text = excelsheet.Cells(zeile, 2).Value
        End With
    
     'Ecelmappe schließen:
    excelmappe.Close savechanges:=False
    excelinstanz.Visible = True
    excelinstanz.Quit
    Set excelinstanz = Nothing
    Set excelmappe = Nothing
    
    Exit Sub
    fehler:
    'Fehlerbehandlung für falsche Mitarbeiternummer und andere Fehler:
    excelinstanz.Visible = True
    excelinstanz.Quit
    Set excelinstanz = Nothing
    Set excelmappe = Nothing
    
    If fundBereich Is Nothing Then
        MsgBox "Dieses Datum wurde nicht gefunden."
    Else
        MsgBox Err.Description & " - " & Err.Number
    End If
    
    End Sub
    Ich musste das Word-Dokument zippen, da Dokumente mit Makros hier nicht erlaubt sind.
     
    Gerhard H, 3. November 2020
    #2
    1 Person gefällt das.
  3. Hallo Gerhard,

    danke schonmal für die Antwort. Ich schaue mir das Makro noch genau an, um es nachzuvollziehen.

    Beste Grüße, Michael
     
    Zoloromba, 3. November 2020
    #3
  4. Verknüpfung zu Excel, aber dynamisch

    Hallo Gerhard,

    klappt prima. Brauchte etwas Zeit wegen eines anderen Projekts.

    Besten Dank.

    Gruß, Michael
     
    Zoloromba, 15. November 2020
    #4
    1 Person gefällt das.
Thema:

Verknüpfung zu Excel, aber dynamisch

Die Seite wird geladen...
  1. Verknüpfung zu Excel, aber dynamisch - Similar Threads - Verknüpfung Excel dynamisch

  2. Excel und Word verknüpfen und Tabelle....

    in Microsoft Excel Hilfe
    Excel und Word verknüpfen und Tabelle....: Hallo zusammen. Ich komme einfach nicht weiter. Es sollte doch möglich sein...: Ich habe in Excel eine immer wieder verschieden Große Tabelle. Angenommen A und B sind immer gleich, nur die...
  3. Worddokument mit verknüpfter Exceldatei verschieben

    in Microsoft Word Hilfe
    Worddokument mit verknüpfter Exceldatei verschieben: Hallo, ich habe eine Worddatei (Bericht für Kunde A) erstellt, in welcher ich verschiedene Berechnungsergebnisse mithilfe einer Verknüpfung aus Excel eingefügt habe. Nun möchte ich für Kunde B...
  4. Excel Verknüpfung Schreibschutz aufheben

    in Microsoft Excel Hilfe
    Excel Verknüpfung Schreibschutz aufheben: Hallo, ich möchte eine Verknüpfung zwischen einer schreibgeschützten Ausgangsdatei und einer neuen Excel Datei herstellen.Damit man die neuen Excel Datei aktualisieren kann ist die Eingabe des...
  5. Excel Zellen vergleichen & Formeln verknüpfen

    in Microsoft Excel Hilfe
    Excel Zellen vergleichen & Formeln verknüpfen: Hallo zusammen, frisch angemeldet im Forum und gleich eine Frage :confused: Ich habe folgendes Problem: In aufeinanderfolgenden Zellen befinden sich verschiedene Netzwerkportnummern. Excel soll...
  6. Zellen Verknüpfung fehlerhaft

    in Microsoft Excel Hilfe
    Zellen Verknüpfung fehlerhaft: Guten Morgen liebe Community! Wie man auf dem Bild sehen kann, habe ich ein Problem mit dem Verknüpfen von einer Zelle in der gleichen Arbeitsmappe! Ich würde gerne die Tabelle TN-Liste1!$B6$ mit...
  7. Excel Dateien in TEAMS verknüpfen

    in Microsoft Excel Hilfe
    Excel Dateien in TEAMS verknüpfen: Hallo, Wie schaffe ich es, in einem TEAM unter Dateien eine Excel Datei eines anderen TEAMS zu verknüpfen? Danke!
  8. Verknüpfung zweier Excel sheets mit mehreren Spalten

    in Microsoft Excel Hilfe
    Verknüpfung zweier Excel sheets mit mehreren Spalten: Hallo, Frage: Ich habe zwei Excel sheets. Im zweiten ist in Spalte A eine Liste mit Ersatzteilen. In Spalte B ist eine Liste mit zugeordneten Teilen, also jedem Ersatzteil ist genau ein...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden