Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Benutzerabhäniger Laufzeitfehler 9 Index ausserhalb des gültigen Bereichs!
#1
Hallo Forumsmitglieder,

ich erstelle gerade eine kleine Exceldatenbank mit Makros.
Nach einem Datensatz soll mittels Suchfunktion gesucht werden.

Im Internet habe ich folgenden Code gefunden, welchen ich meinen Bedürfnissen angepasst habe.

Code:
Sub Search_Click()
   Dim x As Integer
   Dim P As Integer
   Dim wb1 As Workbook
   Set wb1 = Workbooks.Open("J:\Files\Technical\Test.xlsx")
   Windows("Test").Activate
   P = wb1.Sheets("Sheet1").UsedRange.Rows.Count
   x = Suchfeld
    temp = 0
   For k = 2 To P
       If Cells(k, 2) = x Then
           temp = 1
           Exit For
       End If
   Next
   If temp = 1 Then
       Unload Me
        row = k
       Testsheet2.Show
   Else
       MsgBox "No number in the System!"
        Unload Testsheet1
        Workbooks("Test").Close
   End If
End Sub
Der Code funktioniert soweit auf meinem PC auch einwandfrei.
Auf den PC's einiger Kollegen läuft das Makro auch, unabhängig von der Excelversion.

Nun zum eingendlichen Problem:
Auf den PC's mancher Kollegen funktioniert das Makro nicht. Ich bekomme immer den Fehler

"Laufzeitfehler 9 Index ausserhalb des gültigen Bereichs"
Logge ich mich mit meinem Account auf dem PC ein, funktioniert der Code einwandfrei.
Ich bin absolut ratlos, wo der Fehler liegt, da der Code ja bei manchen Benutzern funktioniert?! Dodgy
Ich hoffe ihr könnt mir weiterhelfen :)
Vielen Dank
Antworten Top
#2
Hallo,

wie sieht es mit dem manuellen Zugriff auf J:\Files\Technical\Test.xlsx aus?

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • FlyingBeer
Antworten Top
#3
Hallo Uwe,

der manuelle Zugriff auf den Ordner funktioniert auf allen PCs bzw. bei allen
Benutzern.
Antworten Top
#4
Die Datei, auf die zugegriffen warden soll, ist ein Shared Workbook. Könnte es vllt daran liegen?

Fehler kommt immer bei

P = wb1.Sheets("Sheet1").UsedRange.Rows.Count

Bin absolut ratlos Dodgy
Antworten Top
#5
Hallo,

gibt es ein Tabellenblatt mit dem Namen Sheet1? Und wie heißt es bei dem Kollegen? Versuche es mal indem Du den Index angibst.

Code:
P = wb1.Worksheets(1).UsedRange.Rows.Count
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • FlyingBeer
Antworten Top
#6
Hey Stefan,

ja das Tabellenblatt mit dem Name Sheet1 existiert und heist auch überall gleich.

Hab gerade mit dem Code von dir probiert, funktioniert leider auch nicht. :s

Wie gesagt bei einigen Kollegen funktioniert das Makro einwandfrei, bei anderen kommt immer

Laufzeitfehler 9

Könnte das Ganze evtl. auf ein Netzwerkproblem zurückzuführen sein?

Gruss FlyingBeer :)
Antworten Top
#7
Hallo,

deklariere x und P als Long.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • FlyingBeer
Antworten Top
#8
Moin!
Meine Mutmaßung:
Die Windows-Auflistung erwartet zwingend die Caption-Eigenschaft der Mappe (und nicht automatisch den Dateinamen).
Habe es jetzt nicht ausprobiert, aber wenn ich im Explorer die Dateiendung nicht anzeigen lasse, müsste sie in der Caption ebenfalls verschwinden, was dann zum LZF 9 führt.

Hieße im ersten Code eigentlich:
Windows("Test.xlsx").Activate

Allerdings ist das Windows().Activate ohnehin überflüssig, da die durch Workbooks.Open geöffnete Mappe immer aktiv ist.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • FlyingBeer
Antworten Top
#9
:19:
So, habe es jetzt ausprobiert, folgendes aktiviert:

   

In der Caption des Fensters erscheint jetzt der Dateiname ohne Endung.

Windows("Test").Activate funktioniert
Windows("Test.xlsx").Activate funktioniert auch

Wie oben geschrieben:
Der Fehler tritt dann auf, wenn die Dateiendung angezeigt wird und sie in der Windows()-Eigenschaft nicht im String ist!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • FlyingBeer
Antworten Top
#10
Hey Ralf,

ich hab es wie du aktiviert und siehe da, es funtkioniert.

Habe es bei zwei meiner Kollegen, bei denen es voher nicht funktionierte, mit Erfolg getestet.

Ich kann nun also beruhigt weiterarbeiten.

Vielen Dank Euch allen für die Hilfe, ohne Euch wäre ich aufgeschmissen gewesen!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste