Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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

Excel-Tabellen in Word umwandeln

Excel-Tabellen in Word umwandeln
joko0803
Hallo alle,
ich bin nicht sicher, ob dieses Thema hier her gehört.
Falls nein, wäre ich für das Benennen eines entsprechenden Forums dankbar.
In einem Word Dokument habe ich viele Excel-Tabellen eingebunden.
Dieses Word Dokument muss ich an eine Behörde zur Weiterverarbeitung versenden.
Die Behörede verlangt aber, dass keine Excel-Tabellen eingebunden sind. Folglich muss ich nun alles Tabellen erst mal per doppelklick öffnen, die benötigten Zellen im geöffneten Excel markieren, kopieren, die eingebundene Excel-Tabelle löschen und die in der Zwischenlage befindlichen Daten (aus Excel) einfügen.
So erhalte ich eine Word-Tabelle mit allen Formatierungen.
Lässt sich so etwas auch automatisieren?
Hier eine Muster-Datei: https://www.herber.de/bbs/user/69474.doc
Für eine Hilfe wäre ich wirklich sehr dankbar.
Eine Datei mit zwei solcher Tabellen habe ich beigefügt.
Erst mal Danke.
John

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

Betreff
Benutzer
Anzeige
ich habe noch keine Lösung, und...
07.05.2010 16:29:49
Oberschlumpf
...werde vielleicht auch keine Lösung wissen, aber...
Hallo John
Wo ist denn die Excel-Datei?
Wie es zum Schluss aussehen soll, wissen wir ja anhand deiner Word-Datei.
Ciao
Thorsten
Die Datei ist in Excel eingebettet
07.05.2010 16:47:10
joko0803
Hallo Thorsten,
danke schon mal, dass Du dir das Thema angesehen hast.
Es gibt keine Exel-Datei.
Die Tabelle ist direkt in Word eingebettet.
Nach einem Doppelklick auf eine der Tabellen öffnet sich Excel und ich kann in dieser Tabelle rechnen, formatieren etc. wie in einer echten Excel-Tabelle.
Gruß
John
AW: Die Datei ist in Excel eingebettet
07.05.2010 17:01:27
joko0803
Frage noch offen
Frage noch offen
07.05.2010 17:03:10
joko0803
Frage noch offen
AW: Worddokument: Excel-Objekte in Wordtabellen
09.05.2010 11:31:47
fcs
Hallo John,
hier meine Sonntags-Bastelarbeit. Ich wollte mich hier jetzt nicht zu sehr in die Tiefen der Word-Objektwelt begeben. Deshalb auch einige Select- und Activate-Anweisungen in der Prozedur. Die Ansicht wird auch immer zwischen Word und Excel wechseln.
Probier es erst einmal mit einer Kopie des Worddokuments.
Es könnte sein, dass die Position der eingebetteten Excel-Tabellen nicht immer optimal ermittelt wird.
Du muss auch noch die optimale Einfüge-Methode probieren - 3 Varianten sind eingebaut, davon 2 als Kommentar.
Gruß
Franz
Option Explicit
'Erstellt unter Office 2007 - 2010-05-09 - fcs
'Dieses Makro in Word in der Normal.dot in einem allgemeinen Modul speichern
Sub ExcelObjekte_in_Wordtabellen_Konvertieren()
'Wandelt eingebettete Exceltabellen-Objekte in Wordtabellen um
Dim oDoc As Document, oShape As Shape, rngPosition As Range
Dim iCount As Long
Dim xlApp As Object, LastColumn As Long, LastRow As Long
Dim Zeile As Long, Spalte As Long
If MsgBox("Im aktiven Dokument alle eingebetteten Excel-Tabellen " & _
"in Word-Tabellen umwandeln?", vbYesNo + vbQuestion + vbDefaultButton2, _
"Excel-Tabellen-Objekte --> Wordtabellen") = vbNo Then Exit Sub
Set oDoc = ActiveDocument
'Shape-Objekte vom letzten zum 1. prüfen
For iCount = oDoc.Shapes.Count To 1 Step -1
Set oShape = oDoc.Shapes(iCount)
'Shape-Typ prüfen
If oShape.Type = msoEmbeddedOLEObject Then
'OLE-Format-Programm-ID prüfen
If Left(oShape.OLEFormat.ProgID, 11) = "Excel.Sheet" Then
'Position des Ankerpunkt des Excel-Objektes merken
Set rngPosition = oShape.Anchor.Paragraphs(1).Range
'Excel-Objekt in Excel zum bearbeiten öffnen
oShape.OLEFormat.DoVerb VerbIndex:=1
'Excelanwendung einem Objekt zuweisen
Set xlApp = VBA.GetObject(, "Excel.Application")
'Aktive Arbeitsmappe (= Wordobjekt) bearbeiten
With xlApp.ActiveWorkbook.Worksheets(1)
'Bereich mit Daten ermitteln - erforderlich, da UsedRange hier Probleme _
machte wegen "unglücklicher" Zeilenformatierungen im Objekt
LastRow = 1
LastColumn = 1
'Letzte Spalte mit Daten ermitteln
For Zeile = .Cells.SpecialCells(11).Row To 1 Step -1
Spalte = .Cells(Zeile, .Columns.Count).End(-4159).Column '-4159=xlToLeft
If Spalte > LastColumn Then
LastColumn = Spalte
End If
Next
'Letzte Zeile mit Daten ermitteln
For Spalte = .Cells.SpecialCells(11).Column To 1 Step -1
Zeile = .Cells(.Rows.Count, Spalte).End(-4162).Row '-4162=xlUp
If Zeile > LastRow Then
LastRow = Zeile
End If
Next
'Datenbereich kopieren
.Range(.Cells(1, 1), .Cells(LastRow, LastColumn)).Copy
End With
Application.Activate 'zurück nach Word
'Einfügeposition selektieren
With rngPosition
oDoc.Range(.Start).Select
Selection.Collapse
End With
'Datenbereich aus Excel einfügen
'        Selection.PasteExcelTable Linkedtoexcel:=False, Wordformatting:=False, _
RTF:=False 'Einfügen im HTML-Format
'        Selection.PasteExcelTable Linkedtoexcel:=False, Wordformatting:=False, _
RTF:=True 'Einfügen im RTF-Format
Selection.PasteAndFormat (16) 'wdFormatOriginalFormatting
'Excel-Objekt in Excel schließen
xlApp.ActiveWorkbook.Close
oShape.Delete 'Excelobjekt in Word löschen
End If
End If
Next
Set xlApp = Nothing: Set oDoc = Nothing
Set rngPosition = Nothing: Set oShape = Nothing
End Sub

Anzeige

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige