Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Daten von Word auslesen

Forumthread: Excel Daten von Word auslesen

Excel Daten von Word auslesen
06.01.2003 13:38:30
Werner
Hallo, kann mit evtl. hier jemand helfen??

Ich schreibe in Word ein Coding, welches auf eine Excel Tabelle zugreifen soll. Es sieht folgendermaßen aus.

Private Sub UserForm_Initialize()

On Error Resume Next
Set xlApp = GetObject("D:\........\....Liste.xls")
Me.Listbox1.Clear
With xlApp
Set bereich = .worksheets(1).[A2].CurrentRegion
For i = 2 To bereich.Rows.Count
Me.Listbox1.AddItem .worksheets(1).Cells(i, 1).Value
Next
Me.Listbox1.Value = Me.Listbox1.List(0)
End With

End Sub

Jetzt möchte ich mir einzelne Zellen in Labelfeldern auf dem Userform in Word anzeigen lassen (z.b Name / Vorname usw....)

Private Sub Listbox1_Change()
i = Listbox1.ListIndex + 2
Beep
Me.Label10.Caption = Me.Listbox1.AddItem(sheets(1).Cells(i, 1).Value)
End Sub

Das klappt aber nicht!! Wo liegt der Fehler???

Danke euch

Werner

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Excel Daten von Word auslesen
06.01.2003 15:02:32
Hans W. Herber
Hallo Werner,

ohne es getestet zu haben:
Im ersten Teil des Codes referenzierst Du sauber
xlApp.Worksheets usw.

Im zweiten Teil gibt es keine Referenzierung zu xlApp. Du wirst zudem xlApp vermutlich als Public-Variable erstellen müssen.

hans

Re: Excel Daten von Word auslesen
06.01.2003 15:17:18
Dan
Hallo Werner,
ich weiss nicht, ob ich Dich gut verstanden habe. Schau es Dir mal an. Wenn der UserForm erscheint, muss man DoubleClicken, und auf der Stelle im WordDoc, wo sich der Cursor befindet, erscheint das selectierte Item. Gruss Dich, Dan.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Selection.TypeText Text:=Me.ListBox1.Value
End Sub

Private Sub UserForm_Initialize()
Dim xlapp As Object
Dim bereich As Excel.Range


On Error Resume Next
Set xlapp = GetObject("D:\Liste.xls")
Me.ListBox1.Clear
With xlapp
Set bereich = .worksheets(1).[A2].CurrentRegion
For i = 2 To bereich.Rows.Count
Me.ListBox1.AddItem .worksheets(1).Cells(i, 1).Value
Next
Me.ListBox1.Value = Me.ListBox1.List(0)
End With

End Sub

Anzeige
Re: Excel Daten von Word auslesen
06.01.2003 16:20:42
Werner
Hallo Hans,

und wie mach ich das....?
Was und wie muss ich deklarieren???

Werner

Re: Excel Daten von Word auslesen
06.01.2003 16:28:35
Hans W. Herber
Hallo Werner,

Du solltest Variablen generell deklarieren, es ist wichtig. Im konkreten Fall deklariere am oberen Rand des UserForm-Klassenmoduls:
Dim xlApp as Excel.Application

Wenn kein Verweis zu Excel erstellt ist, erstelle ihn in der Entwicklungsumgebung über Menü Extras / Verweise.

hans

Anzeige
Re: Excel Daten von Word auslesen
06.01.2003 20:51:43
Werner
Hy Hans,

grrrrr. ich bekomme bald die Krise!!
Wie bekomme ich es den hin, wenn ich auf die ListBox klicke und einen (i) Eintrag auswähle, dass mir der jeweilige Zelleninhalt in einem Labelfeld oder Textfeld angezeigt wird??

Private Sub Listbox1_Click()
Dim xlApp as Excel.Application

Label10.Caption = Me.Listbox1.ListIndex(Cells(i, 3).Value)

End Sub

Es hängt nur noch an ??? ja wenn ich das wüsste?
Bestimmt ist es nur wieder ein Einzeiler?

Werner

Anzeige
Re: Excel Daten von Word auslesen
07.01.2003 05:12:22
Hans W. Herber
... ob Du xlApp außerhalb oder innerhalb der Prozeduren deklarierst, Du mußt das Objekt referenzieren, also:
Label10.Caption = Listbox1.ListIndex(xlApp.Cells(i, 3).Value)

hans

Re: Excel Daten von Word auslesen
07.01.2003 09:14:04
Werner
Hallo Hans,


jetzt klappt´s *supi* - *freu*!!!!!!!
Ich danke Dir, hättest aber nicht so früh (5:12) aufstehen müssen!

:-) Werner

Anzeige
Re: Excel Daten von Word auslesen
07.01.2003 20:22:03
Werner
Hy Hans :-(
ich habe mich wohl zu früh gefreut!

Jetzt bekomme ich die Fehlermeldung

Laufzeitfehler 91
Objektvariable oder oder With Blockvariable nicht festgelegt!

???????
Werner

Re: Excel Daten von Word auslesen
08.01.2003 06:12:58
Hans W. Herber
Hallo Werner,

ja, die Objektvariablen müssen als Public in einem Standardmodul deklariert werden.

Wie folgt:

Was Du im Zusammenhang mit der Aufschrift von Label10 und der AddItem-Methode der ListBox vorhattest, konnte ich nicht ergründen. Um zu zeigen, dass der Zugriff auf das Worksheet-Objekt funktioniert, habe ich eine MsgBox eingebaut.

hans

Anzeige
Re: Excel Daten von Word auslesen
09.01.2003 18:52:48
woerny01
Vielen lieben Dank - Hans!

:o)
Werner

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Excel Daten von Word auslesen


Schritt-für-Schritt-Anleitung

Um Daten aus Excel in Word zu lesen und anzuzeigen, kannst du den folgenden VBA-Code verwenden. Dieser Code liest Werte aus einer Excel-Tabelle und zeigt sie in einem Word-UserForm an.

  1. Öffne Word und erstelle ein neues UserForm.
  2. Füge eine ListBox und ein Label (Label10) hinzu.
  3. Füge den folgenden Code in dein UserForm ein:
Private Sub UserForm_Initialize()
    Dim xlApp As Object
    Dim bereich As Excel.Range
    Dim i As Long

    On Error Resume Next
    Set xlApp = GetObject("D:\Liste.xls") ' Pfad zur Excel-Datei
    Me.ListBox1.Clear
    With xlApp
        Set bereich = .Worksheets(1).[A2].CurrentRegion
        For i = 2 To bereich.Rows.Count
            Me.ListBox1.AddItem .Worksheets(1).Cells(i, 1).Value
        Next
        Me.ListBox1.Value = Me.ListBox1.List(0)
    End With
End Sub

Private Sub ListBox1_Click()
    Dim i As Long
    i = Me.ListBox1.ListIndex + 2
    Label10.Caption = xlApp.Worksheets(1).Cells(i, 3).Value ' Zelleninhalt anzeigen
End Sub
  1. Deklariere xlApp als Public-Variable in einem Standardmodul, um die Objektvariable korrekt zu verwenden:

    Public xlApp As Excel.Application
  2. Füge die Referenz zu Excel hinzu: Gehe zu "Extras" > "Verweise" und aktiviere Microsoft Excel xx.x Object Library.


Häufige Fehler und Lösungen

  • Laufzeitfehler 91: Dieser Fehler tritt auf, wenn die Objektvariable nicht korrekt festgelegt ist. Stelle sicher, dass xlApp als Public-Variable deklariert ist und dass du die Excel-Anwendung korrekt instanziierst.

  • Referenzierungsfehler: Achte darauf, dass du xlApp bei der Verwendung von Excel-Zellen referenzierst, z.B. xlApp.Worksheets(1).Cells(i, 3).Value.

  • Pfad zur Excel-Datei: Überprüfe den Pfad zu deiner Excel-Datei, um sicherzustellen, dass er korrekt ist.


Alternative Methoden

Eine andere Möglichkeit, Excel-Daten auszulesen, ist die Verwendung von OLE DB oder ADO. Diese Methoden ermöglichen es, Daten aus Excel-Tabellen direkt in Word zu importieren, ohne VBA zu verwenden. Hier ein Beispiel für ADO:

Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Liste.xls;Extended Properties='Excel 12.0;HDR=YES';"

Praktische Beispiele

Wenn du Werte aus einer Excel-Tabelle auslesen möchtest, kannst du die folgenden Schritte durchführen:

  1. Erstelle eine Excel-Tabelle mit Spalten wie "Name", "Vorname", etc.
  2. Verwende den oben angegebenen VBA-Code, um die Daten in einer ListBox anzuzeigen.
  3. Klicke auf einen Eintrag in der ListBox, um den entsprechenden Zelleninhalt im Label anzuzeigen.

Tipps für Profis

  • Fehlerbehandlung: Füge Error-Handling in deinen Code ein, um Laufzeitfehler besser zu verwalten.
  • Performance: Schließe Excel nach der Datenabfrage, um die Performance zu verbessern.
  • Benutzerfreundlichkeit: Überlege, ob du zusätzliche Labels hinzufügst, um mehr Informationen anzuzeigen, während du die Daten aus Excel ausliest.

FAQ: Häufige Fragen

1. Wie kann ich Daten aus Excel in Word importieren?
Du kannst VBA verwenden, um eine Verbindung zu Excel herzustellen und die gewünschten Daten auszulesen.

2. Welche Excel-Version benötige ich?
Der gezeigte Code funktioniert mit Excel 2007 und höher, solange die Microsoft Excel Object Library referenziert ist.

3. Was kann ich tun, wenn ich Laufzeitfehler erhalte?
Überprüfe zuerst deine Objektvariablen und den Pfad zur Excel-Datei. Stelle sicher, dass alle Variablen korrekt deklariert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige