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
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):
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!
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:
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!
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???
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!
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
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 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 ?

