Hallo zusammen,
ich habe ein Problem mit der Fehlermeldung:
"Die Methode 'Sheets' ist für das Objekt '_Global' ist fehlgeschlagen.
Ich hab ein Excel Dokument mit mehreren Sheets von denen eins ausgewählt werden soll und davon bei einer bestimmten Eingabe in Word weitere Informationen geholt werden.
Mein Code:
Option Explicit
'ohne Pfadangabe müssen sich Word- und Excel-Datei im gleichen Ordner befinden
Const xlDatei As String = "131001_Kontakte_Materialsteuerung.xlsx"
'Variablen für den Excel-Zugriff
Dim xlApp As Excel.Application
Dim xlWb As Excel.Workbook
Dim xlWs As Worksheet
Dim xlRg1 As Range
Dim r As Integer
'Variablen für Word
Dim wdAktDoku As Document
Sub Document_Open()
'Es wird beim Öffnes des Word-Dokuments die passende Excel-Datei mitgeöffnet
Dim wdAktDoku As Document
Dim ok As Boolean
Set wdAktDoku = ActiveDocument
ok = False
On Error Resume Next
'Prüfen ob Excel schon offen
Set xlApp = GetObject(, "Excel.Application")
On Error GoTo 0
If Not xlApp Is Nothing Then
'Excel ist schon geöffnet
For Each xlWb In xlApp.Workbooks
'alle geöffneten Arbeitsmappen (AM) durchlaufen
If xlWb.Name = xlDatei Then
'richtige geöffnete AM gefunden
ok = True
Exit For
End If
Next xlWb
If Not ok Then
'richtige Excel-Datei nicht geöffnet
'wichtig: Word- & Excel-Datei müssen z.Z im gleichen Ordner sich befinden
Set xlWb = xlApp.Workbooks.Open(wdAktDoku.Path & "\" & xlDatei, , True)
End If
Else
'Excel ist noch nicht geöffnet
On Error Resume Next
Set xlApp = CreateObject("Excel.Application")
On Error GoTo 0
If xlApp Is Nothing Then
MsgBox "Sorry..., aber MS-Excel ist auf diesem PC nicht installiert!", vbCritical Or vbSystemModal
Set xlRg1 = Nothing
Set xlWs = Nothing
Set xlWb = Nothing
Set wdAktDoku = Nothing
Exit Sub
Else
Set xlWb = xlApp.Workbooks.Open(wdAktDoku.Path & "\" & xlDatei, , True)
End If
End If
'Excel sichbar machen
xlApp.Visible = True
'Excel-Tabelle zuordnen
Set xlWs = xlWb.Worksheets("Leipzig")
'Word-Dokument aktivieren
wdAktDoku.Activate
End Sub
Sub TextBox1_Change()
MsgBox TextBox1
'Inhalt des aktuellen FormField-Elements
Dim FormInhalt As String
'zusammengesetztes Nr aus Excel
Dim xZahl As Long
'Inhalt aktuelles FormfieldElement auslesen
'If Not Len(TextBox1) = 8 Then
' MsgBox "falscher Eingabewert, da ungueltige Laenge"
'End If
If Not IsNumeric(TextBox1) Then
'falls kein Zahlenwert eingegeben wurde
MsgBox "falscher Eingabewert"
Exit Sub
End If
'Wertsuche in der Excel-Tabelle
'Workbooks("xlDatei").Activate/Habe die Vermutung, dass das Excel Dokument nicht aktiv ist.
'Er findet die Tabelle3 einfach nicht
r = 2
Do Until IsEmpty(Sheets("Berlin").Cells(r, 13).Value)
MsgBox Cells(r, 13), Cells(r, 10), Cells(r, 11)
If Cells(r, 12) = TextBox1 Then
MsgBox "Yeah"
'MsgBox "Cells(r, 13), Cells(r, 10), Cell(r, 11)"
End If
r = r + 1
Loop
End Sub
Wer kann mir da helfen. Wäre echt super.
Vielen Dank
|