Laufzeitfehler 381

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Laufzeitfehler 381
von: Trek
Geschrieben am: 11.07.2002 - 10:57:45

Einen Wunderschönen,

Habe ein Problem mit einer UserForm.Show Funktion.

Sobald ich die Datei öffne, gibt VBA (XL 2000) folgende Fehlermeldung raus:"Laufzeitfehler 381. Eigenschaft List konnte nicht gesetzt werden. Index des Eigenschaftenfeldes ungültig"

Wenn ich dann den Debugger starte zeigt sich folgendes Bild, wobei die Zeile "UserForm.3.Show" gelb hinterlegt ist.

Private Sub Workbook_Open()
If ActiveWindow.Caption = "Eingabe.xls" Then
ActiveWindow.WindowState = xlMinimized
ChDir "C:\Eigene Dateien"
UserForm3.Show
End If
End Sub

Wenn jemand mir helfen kann wäre ich sehr dankbar...

P.S. Ich weiß wie man einen Computer einschaltet, bin aber trotzdem nur ein User.

MfG
Trek

nach oben   nach unten

Re: Laufzeitfehler 381
von: Hans W. Herber
Geschrieben am: 11.07.2002 - 11:06:40

Hallo,

der Code stoppt zwar an dieser Stelle, das Problem ist aber vermutlich im Initialize-Ereignis der UserForm zu suchen.
Hier werden vermutlich einer ListBox (oder ComboBox) Werte aus einem Zellbereich zugewiesen. Möglicherweise erfolgt die Zuweisung mit:
ListBox1.List = Range("A1:A16")
In XL97 wird diese Zuweisung akzeptiert, bei den höheren Versionen wird verlangt:
ListBox1.List = Range("A1:A16").Value

hans

nach oben   nach unten

Re: Laufzeitfehler 381
von: Trek
Geschrieben am: 11.07.2002 - 11:29:22


Ich ahne böses ... Ich habe wircklich nicht viel Plan, aber bei der Datei handelt es sich um eine Eingabemaske für EK Preisänderungen für ein Kalkulationsprogramm, d.h. dann ja das sehr Viele Werte Zellbereichen zugewiesen werden müssen oder ?

Sorry ich muss mich wie ein Schuljunge anhören...


nach oben   nach unten

Re: Laufzeitfehler 381
von: Hans W. Herber
Geschrieben am: 11.07.2002 - 11:33:02

... das muss durchaus nicht sein, möglicherweise wird nur eine Combo- oder ListBox gefüllt. Du musst im Initialize-Ereignis nach einer oder mehreren Code-Zeilen suchen, in denen die Befehlssequenz:
...List =
zu finden ist. Berücksichtige aber dabei, dass die Fehlerquelle nur eine Vermutung von mir sein kann.

hans

nach oben   nach unten

Re: Laufzeitfehler 381
von: trek
Geschrieben am: 11.07.2002 - 11:42:33

Das habe ich mitten raus kopiert kann hier der Hund begraben liegen ?


Sheets("EK Preise").Select
ButtonListBox.List() = Worksheets("EK Preise").Range(Cells(3, 16).Address, Cells(16, 16).Address)
ButtonListBox.ListIndex = -1

sorry wenn ich nerve .. bin echt verzweifelt


nach oben   nach unten

Re: Laufzeitfehler 381
von: Hans W. Herber
Geschrieben am: 11.07.2002 - 12:03:57

... ändere die Zeile:
ButtonListBox.List() = Worksheets("EK Preise").Range(Cells(3, 16).Address, Cells(16, 16).Address)

in:
ButtonListBox.List = Worksheets("EK Preise").Range(Cells(3, 16), Cells(16, 16)).Value

hans

nach oben   nach unten

Re: Laufzeitfehler 381
von: Trek
Geschrieben am: 11.07.2002 - 12:16:04

Nein,

tut mir leid ... gleich Fehlermeldung. Immer noch das Anfangsproblem...

MfG Trek


nach oben   nach unten

Re: Laufzeitfehler 381
von: Trek
Geschrieben am: 11.07.2002 - 12:59:44

Hier sagt er mir das dies ein Syntaxfehler ist ... ?


ButtonListBox.Lis = Worksheets("EK Preise").Range(Cells(3, 16), Cells(16, 16)).Value)
ButtonListBox.ListIndex = -1

Ich glaube das war die letzte Zeile in "Initialize" die in Frage kam

Ein letztes Mal


nach oben   nach unten

Re: Laufzeitfehler 381
von: Hans W. Herber
Geschrieben am: 11.07.2002 - 13:56:33

... sieh Dir das Teil an und Deine Logik wird Dir sagen, dass es sich ja nunmal um einen Syntaxfehler handeln muss, oder?

hans


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Laufzeitfehler 381"