# VBA - Aus Word heraus Excelzeilen auslesen



## GleichaufDaniel (3. September 2007)

Guten Tag erstmal.
Also ich hab folgendes Problem:
Ich habe eine Excel-Tabelle. In jeder Zeile ist quasi ein Datensatz. in der ersten Spalte Name, 2 Spalte Adresse usw.
Ich möchte aus Word heraus die Namen in eine Combobox laden und bei bestätigung eines Namens den kompletten Datensatz aus Excel heraus in Word einfügen.
Was ich schon gescahfft habe ist das Auflisten der Namen.
Also habe ich den Namen. Nun muss ich mit dem Namen die richtige Zeile in Excel suchen um die Zeilennummer "herauszubekommen". Und da hab ich so mein Problem. Ich arbeite mit einem Excel Objekt (xlw)
Hier mein bisheriger Quellcode.
In der Zeile "Set Suchbereich = xlw.Workbooks("Menschen.xls").Worksheets(1).Range("A2:A5") 'muss noch dynamisch gemacht werden" kommt ein Fehler mit der Anzeige: "Typen unverträglich".
Was habe ich falsch gemacht. oder hat jemand eine andere Idee wie ich den "Datensatz"(Zeile) aus Excel heraubekomme?

Dankeschön schonmal im Vorraus

das bisherige:
	
	
	



```
Option Explicit
Dim Name, Vorname, Adresse, Beruf As String
Dim Alter As Integer
Dim I, K, x As Byte
Dim Nameliste() As String
Public Abbruch As Boolean
Public strArtikel As String


Sub ExcelAuslesen()

Dim xlw As Excel.Application

Set xlw = Excel.Application
xlw.Visible = False
xlw.Workbooks.Open "D:\Desktop\Daniel VBA\Menschen.xls"
Dim Bereich As Range, Suchbereich As Range


I = 1


auslesen:   ReDim Preserve Nameliste(I)
            If Not (IsEmpty((xlw.Workbooks("Menschen.xls").Worksheets(1).Range("A" & I + 1)))) Then
                Nameliste(I) = xlw.Workbooks("Menschen.xls").Worksheets(1).Range("A" & I + 1)
                I = I + 1
                GoTo auslesen
            Else
                I = I - 1
            End If


Comboboxfüllen: For K = 1 To I
                    ArtikelForm.ComboBoxArtikel.AddItem Nameliste(K)
                Next
                ArtikelForm.ComboBoxArtikel.Value = Nameliste(1) 'Anfangswert anzeigen
                ArtikelForm.Show
                
                If Abbruch = True Then Exit Sub

                
                If strArtikel > "" Then
                    For Each Bereich In Suchbereich
                    Set Suchbereich = xlw.Workbooks("Menschen.xls").Worksheets(1).Range("A2:A5") 'muss noch dynamisch gemacht werden
                        If xlw.Workbooks("Menschen.xls").Bereich.Value = strArtikel Then
                            MsgBox "Wert gefunden in " & xlw.Workbooks("Menschen.xls").Worksheets("Tabelle1").Bereich.Address
                            MsgBox "Wert gefunden in Zeile " & xlw.Workbooks("Menschen.xls").Worksheets("Tabelle1").Bereich.Row & " und Spalte " & xlw.Workbooks("Menschen.xls").Worksheets("Tabelle1").Bereich.Column
                        End If
                    Next
                End If


xlw.Quit
End Sub
```


----------

