Hey Leute folgendes Problem,
ich habe globale variablen deklariert:
Public WorkbookQuelle As Workbook
Public WorkbookZiel As Workbook
und ich habe den code hier:
Sub Start()
Set WorkbookZiel = ActiveWorkbook
'Prüfen auf Existenz der Datei Kunden
If Dir(ThisWorkbook.Path & "\Kunden (Debitoren) - Adressen.xlsb") = "" Then
MsgBox "Quelldatei nicht gefunden", vbCritical
Exit Sub
Else
Set WorkbookQuelle = Workbooks.Open(ThisWorkbook.Path & "\Kunden (Debitoren) - Adressen.xlsb", False, True)
WorkbookZiel.Activate
WorkbookQuelle.Windows(1).Visible = False
End If
Suchen.Suche
'Schließen
WorkbookQuelle.Close Savechanges:=False 'True später
Set WorkbookQuelle = Nothing
Set WorkbookZiel = Nothing
End Sub
ist die erste sub die dann suche aufruft:
Sub Suche()
Dim InternetExplorer As Object
Set InternetExplorer = CreateObject("InternetExplorer.Application")
Dim Zeile As Integer
Zeile = 2
InternetExplorer.Visible = False 'False später
InternetExplorer.navigate "http://www.dasoertliche.de/"
Application.StatusBar = "Das Örtliche wird geladen bitte warten..."
Do While InternetExplorer.ReadyState <> 4
Loop
Do While Not IsEmpty(WorkbookQuelle.Sheets("Tabelle1").Cells(Zeile, 1))
Debug.Print Zeile
Zeile = Zeile + 1
Loop
Application.StatusBar = "Fertig"
End Sub
mein problem ist jetzt wenn ich das ausführe er sagt laufzeitfehler 9 index außerhalb des gültigen bereichs. meine frage ist nun warum passiert das ich habe es schon 15 mal durchgelsen und gesucht warum springt er bei dieser do while schleife bei dieser bedingung mit dem fehler raus? die variable ist doch global definiert und wird auch geöffnet. er soll nur durch die tabelle1 laufen und ausgeben die zeile zum testen. aber der code geht nicht. kann mir jemand helfen?
Danke.
Gruß Nils
|