Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Daten von Excel nach Word





Frage

hi, ich habe einige Zahlen in einem Excel Sheets welche ich per Makro in eine Word Tabelle kopieren möchte. Im Excel File könnte man nur die Koordinaten angeben (z.B. G15) denn die Zahlen sind immer in der Selben Zelle. Im Word müssen die Zahlen in bestimmte Tabellen importiert werden. Ich weiss nur nicht genau wie ich diese Tabellen ansteueren kann. Problem: "Wie kann ich bestimmte Zellen vom Excel in ein Word File (in Tabelle) kopieren? Hoffe Ihr könnt mir Da weiter helfen

Antwort 1 von Beat Gurtner

Hier noch ein möflicher Ablauf des Makros:
1. Zellen markieren
2. Markierte Zellen Kopieren
3. Word Datei öffnen, falls nicht offen
4. Bestimmte Tabelle "suchen" und Zellen markieren
5. Werte aus der Zwischenablage in die Word Tabelle einfügen

Antwort 2 von Wolle

Hi Beat,

gehe die Sache mal von Word an. In der Normal.dot sollte folgendes VB-Script stehen (Bez. natürlich anpassen):


Sub Copy_aus_Excel()

    Dim Mappe As Object
    
    Set Mappe = CreateObject("Excel.Application")
    
    '
    ' Excel-Mappe mit Daten öffnen
    
    Mappe.Workbooks.Open "d:\Eigene Dateien\wolfgang\excel\bsp.xls"
    
    '
    ' Blatt und Daten mit Range auswählen
    
    Mappe.Sheets("Bsp_Sheet").Range("A1").Select
    Mappe.Selection.Copy
    
    '
    ' Daten an Cursor-Position im Word-Dokument einfügen
    
    Selection.Paste
    
    '
    ' Excel-Instans schließen
    
    Mappe.Quit
    
End Sub


Du setzt den Cursor an der Stelle des Word-Dokuments, wo die Excel-Daten hin sollen und führst dann dieses Macro aus.

Gruß Wolle!


Antwort 3 von Beat Gurtner

wie kann ich denn ich word die tabelle ansteueren? (ich habe mehrere)

Antwort 4 von Wolle

Am einfachsten ( ohne "UserForms") mit der InputBox-Anweisung. Dort kannst du die Arbeitsmappen und die Bereiche angeben. Habe Script folgendermaßen abgeändert:


Sub Copy_aus_Excel()

    Dim Mappe As Object, Name As String, Ber As String
    
    Set Mappe = CreateObject("Excel.Application")
    
    '
    ' Werte Übergeben
    
    Name = InputBox("Excel-Mappe angeben") 'z. B. Eingabe: "bsp.xls", ohne Hochkomma
    If Name = "" Then Exit Sub ' Wirksam, wenn "Abbruch" gedrückt
    
    Ber = InputBox("Bereich eingeben", , "G15") 'z. B. Eingabe: "A1". ohne Hochkomma
    If Ber = "" Then Exit Sub ' Wirksam, wenn "Abbruch" gedrückt
    
    '
    ' Excel-Mappe mit Daten öffnen
    
    Mappe.Workbooks.Open "d:\Eigene Dateien\wolfgang\excel\" & Name
    
    '
    ' Blatt und Daten mit Range auswählen
    
    Mappe.Sheets("Bsp_Sheet").Range(Ber).Select
    Mappe.Selection.Copy
    
    '
    ' Daten an Cursor-Position im Word-Dokument einfügen
    
    Selection.Paste
    
    '
    ' Excel-Instans schließen
    
    Mappe.Quit
    
End Sub


Kann natürlich noch weiter an die Bedürfnisse angepaßt werden. Z. B. Arbeitsblätter auswählen etc. Ich hoffe es hilft Dir.

Gruß Wolle!


Antwort 5 von Beat Gurtner

nein nicht wircklich, mein prob liegt nicht mehr beim import von excel oder so sondern beim einfügen der daten.

Ich weiss nicht wie ich die daten ab der richtigen stelle einfügen kann. kann ich sowas wie platzhalter machen und die danach so einfügen???

Antwort 6 von Wolle

Einfach den Cursor an die Stelle im Word-Dokument hinsetzen, wo es hin soll und dann das Macro ausfüren. Das Macro dazu am besten als Schaltfläche auf ein Benutzerdefinierte Symbolleiste legen. Ist es das?

Gruß Wolle!


Antwort 7 von Beat Gurtner

Das hab ich jetzt auch! Frage: Ist es irgendwie möglich Selection .Paste in eine Variabel zu Speichern? Oder besser gesagt das Kopierte???

Antwort 8 von Peter-626

hi, baet,

du fügst in das Word Dokument eine Exeltabelle (nur 1 Feld) ein. Dazu ist normalerweise in der Befehlsleiste ein Icon.

Anschließend in das Exelfeld klicken, und über Menü, Daten, konsolidieren das Konsolidierungsfenster öffnen.

In der zweiten Zeile (Office 2000) steht "Verweise". Da über "durchsuchen" die Quelldatei angeben und unmittelbar an den Dateinamen anfügen "$Spalte$Zeile"
Bsp: D:\Daten\Tabelle1.xls$E$15

Dann auf "hinzufügen" klicken und nicht vergessen ganz unten in diesem Fenster ein Häkchen bei der "Verknüpfung mit der Quelldatei" zu setzten.
Damit wird gesichert, dass bei Änderungen in der Exeltabelle auch der Wert im Worddokument geändert wird.

Viel Spass

Antwort 9 von Beat Gurtner

das ist mit 97 offensichtlich nicht möglich!!!

Ich hab jetzt ein fast fertiges makro:

Sub Copy_aus_Excel()

Dim Mappe As Object
Dim Pfad As String

Set Mappe = CreateObject("Excel.Application")
Pfad = ActiveDocument.Path & Application.PathSeparator

Mappe.Workbooks.Open Pfad & "Monthly Reporting.xls"
Mappe.Sheets("Details").Range("D9").Select
Mappe.Selection.Copy

'Selection.Find.ClearFormatting
'Selection.Find.Replacement.ClearFormatting

With Selection.Find
.Text = "1_1"
.Replacement.Text = Selection
.Forward = True
.Wrap = wdFindContinue
End With

Selection.Find.Execute Replace:=wdReplaceAll
'Mappe.Quit

End Sub


Das problem ist das ein fügen des textes...

Mit selection geht das nicht. Es kommt nur ein komisches zeichen ?

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: