AW: Daten aus Excel ins Word
23.02.2009 09:53:06
fcs
Hallo Martin,
hier ein entsprechendes Word-Makro.
Das Suchergebnis wird an der Cursorposition in Word eingetragen.
Den Namen der Textmarke und den namen der Excel-Datei muss du entsprechend anpassen.
Je nachdem in welchem Format (Text oder Zahl) die PLZ in Excel eingetragen sind muss du die entsprechende Zeile im Code wählen.
Gruß
Franz
'Erstellt mit MS-Office 2003, Windows XP
Sub PLZ_Verweis()
'Sucht in Spalte 1 (A) in der Exceltabelle die PLZ und gibt den Wert in der Spalte _
rechts daneben als Ergebnis zurück. Das Ergebnis wird an der Cursor-Position _
eingetragen.
'Für Funktion des Makros muss im Word-VBA-Editor unter Extras-->Verweise der _
Verweis auf die "Microsoft Excel x.y Object Library" gesetzt werden
Dim strErgebnis As String, valPLZ As Variant
'Word-Objekte setzen
Dim objDoc As Word.Document, objTextmarke As Word.Bookmark
'Excel-Objekte Setzen
Dim objWb As Excel.Workbook, objWks As Excel.Worksheet, objRange As Excel.Range
Set objDoc = ActiveDocument
Set objTextmarke = objDoc.Bookmarks("PLZ")
' valPLZ = Val(objTextmarke.Range.Text) 'PLZ sind in Excel as Zahlen eingegeben
valPLZ = objTextmarke.Range.Text 'PLZ sind in Excel as Text eingegeben
Set objWb = Excel.Workbooks.Open(FileName:="C:\Lokale daten\Test\PLZ_Liste.xls", _
ReadOnly:=True)
Set objWks = objWb.Worksheets(1)
Set objRange = objWks.Columns.Find(what:=valPLZ, LookIn:=xlValues, lookat:=xlWhole)
If objRange Is Nothing Then
MsgBox "zur PLZ """ & valPLZ & """ wurde kein EinEintrag gefunden!"
strErgebnis = "Kein Eintrag"
Else
strErgebnis = objRange.Offset(0, 1).Text
End If
objWb.Close savechanges:=False
If Excel.Workbooks.Count