Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Laufzeifehler 381 - wo liegt der Fehler

Forumthread: Laufzeifehler 381 - wo liegt der Fehler

Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 16:22:51
Frank H.
Hallo Zusammen,

Ich suche mit folgendem Code Werte in einer Tabelle:

With frmDatenerfassung

.ListBox4.Clear

For lng = 8 To ActiveSheet.UsedRange.Rows.Count

If Cells(lng, 100).Value > CDate(.TextBox53) Then Exit For

If Cells(lng, 100).Value >= CDate(.TextBox52) And Left(Cells(lng, 102), 1) = "F" Then
.ListBox4.AddItem Cells(lng, 100).Text
.ListBox4.Column(1, i) = Cells(lng, 102).Text
i = i + 1
End If

Next lng

End With

Die fett markierte Zeile wird im Debugger markiert.

Es kommt die Fehlermeldung:
Laufzeitfehler 381
Eigenschaft Column konnte nicht gesetzt werden.
Index des Eigenschaftenfelds ungültig.

Wenn ich die markierte Zeile inaktiv mache, kommen in meiner ListBox in Spalte 0 auch die gewünschten Werte.

Kann mir jemand helfen?


Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 16:32:42
Onur
.ListBox4.List(1, i) = Cells(lng, 102).Text
AW: Dein Code funktioniert, s. Info von onur!!
06.01.2025 23:23:19
Piet
Hallo Frank

ich war verwundert das du immer noch Columns(1, i) im Code stehen hast. Deshalb habe ich die Datei nachgebaut.
Nun muss ich zugeben das deine Variante mit Columns einwandfrei funktioniert, das wußte ich bisher nicht!
Ich habe aber auch die Antwort von onur gesehen, das wird wohl der Fehler sein!
https://www.herber.de/bbs/user/174717.xlsm

Bin gespannt ob der Thread damit gelöst wurde?? Würde mich freuen.

mfg Piet
Anzeige
AW: Dein Code funktioniert, s. Info von onur!!
06.01.2025 23:26:38
Frank H.
Hallo Piet,

auch dir mein Dank!!!
Bin wie schon an Onur geschrieben, voll auf zufrieden!

Gute Nacht!
L.G. Frank H.
AW: Dein Code funktioniert, s. Info von onur!!
06.01.2025 23:34:46
Onur
Wieso "auch dir" ??? Bei wem hast du dich denn noch bedankt ?
AW: Dein Code funktioniert, s. Info von onur!!
07.01.2025 00:57:50
Frank H.
Hallo Onur,

bei Piet.

L.G.
Anzeige
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 16:41:19
Frank H.
Hallo Onur,

Danke für die schnelle Antwort.
Aber leider kommt die selbe Fehlermeldung.

L.G. Frank H.
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 19:32:45
Piet
Hallo Klaus

Nachtrag --> wenn dich der Fehler interessiert, nach dem Löschen der ListBox ist die Anzahl an Einträgen 0.
Wenn man dann aber in die 1. Zeile etwas eintragen will, gibt es einen Crash. Und es wird IMMER in 1 eingetragen.

Onur ist ein guter Fachmann, ohne Zweifel. Aber auf die Schnelle übersieht man gerne solche Fehler.
Solche kleinen Flüchtigkeitsfehler passieren mir auch immer wieder mal. - Ich hoffe jetzt klappt es!!

mfg Piet
Anzeige
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 22:54:19
Frank H.
Hallo Piet,

leider auch kein Erfolg.
Erstmal entschuldige, dass ich erst jetzt antworte, bin zum Nachtdienst gefahren und habe jetzt einen Moment Zeit.

Nun ich wollte beim Öffnen der UF folgendes:

Private Sub cbJahr_Change()

Dim Daten() As Variant, avntValues As Variant
Dim lng As Long, lngCount As Long

Sheets("Termine").cbJahr = cbJahr

'cbMonat = ""

cbMonat.Clear

c = cbJahr.ListIndex + 120

For lng = 5 To 22

With Sheets("Termine").Cells(lng, c)

If Not IsEmpty(.Value) Then Call cbMonat.AddItem(.Value)

End With

Next lng

TextBox27 = ""
TextBox30 = ""

For i = 1 To 30
Me("TextBox" & i) = ""
Me("TextBox" & i).BackColor = &HFFFFFF
Next i

For i = 32 To 51
Me("TextBox" & i) = ""
Me("TextBox" & i).BackColor = &HFFFFFF
Next i

TextBox52 = DateSerial(cbJahr, 1, 1)
TextBox53 = DateSerial(cbJahr, 12, 31)

Frame4.Caption = cbJahr

With frmDatenerfassung

.ListBox4.Clear

For lng = 5 To 2985

If Cells(lng, 100).Value > CDate(.TextBox53) Then Exit For

If Cells(lng, 100).Value >= CDate(.TextBox52) And Left(Cells(lng, 102), 1) = "F" Then
.ListBox4.AddItem Cells(lng, 100).Text
.ListBox4.Column(1, i) = Cells(lng, 102).Text
i = i + 1
End If

Next lng

End With

End Sub

Wenn ich folgendes mittels Schaltfläche aufrufe, dann funktioniert es wie gewünscht.

With frmDatenerfassung

.ListBox4.Clear

For lng = 5 To 2985

If Cells(lng, 100).Value > CDate(.TextBox53) Then Exit For

If Cells(lng, 100).Value >= CDate(.TextBox52) And Left(Cells(lng, 102), 1) = "F" Then
.ListBox4.AddItem Cells(lng, 100).Text
.ListBox4.Column(1, i) = Cells(lng, 102).Text
i = i + 1
End If

Next lng

End With

Kannst du damit was anfangen und nochmal drüber schauen. Besten Dank

L.G. Frank H.
Anzeige
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 22:57:41
Onur
Du musst erst mal i auf Null zurücksetzen, sie hat doch noch den Wert 52.
Wenn du schon Variablen "recyclest", musst du sie auch vor dem Neuverwenden zurücksetzen.
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 23:19:47
Frank H.
Hallöchen nochmal,

na das wars. Bin somit voll und ganz glücklich.
Wie immer - Super Forum!!!

Ich wünsche eine gute Nacht. Meine dauert noch bis 06:00 Uhr.

L.G. Frank H.
Anzeige
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 16:48:46
Onur
Dann hast du noch andere Probleme.
Bitte mal die Datei posten...
AW: Laufzeifehler 381 - wo liegt der Fehler
06.01.2025 17:33:49
Onur
Jetzt habe ich verstande, was du meinst...
Das Problem ist:
SEQUENZ()
Wenn du eine Sequenz von 1 bis 10 und eine mit 1 bis 5 hast, musst du Sequenz(50) nehmen und diese in X und Y splitten, da es, im Gegensatz zu FOR-NEXT-Schleifen nicht 2 sondern nur eine Schleife wird.
Die beiden laufen NICHT UNABHÄNGIG voneinander.
Guckst du hier:

https://www.herber.de/bbs/user/174711.xlsx
Anzeige
Falscher Thread - Sorry!
06.01.2025 17:40:29
Onur
AW: Falscher Thread - Sorry!
06.01.2025 17:44:44
Frank H.
Hallo nochmal,

Datei senden ist für mich problematisch.

Ich dachte es geht auch ohne Datei, vielleicht ein Irrglaube.
Deine beiden letzten Posts verwirren mich gänzlich!

L.G. Frank H.
AW: Falscher Thread - Sorry!
06.01.2025 17:51:38
Onur
"Deine beiden letzten Posts verwirren mich gänzlich! " - einfach ignorieren.

"Datei senden ist für mich problematisch." - Und für mich ist es problematisch, einen Code zu schreiben/analysieren, wenn die ZUGEHÖRIGE Datei fehlt.
Es muss ja nicht die Originaldatei sein - du kannst sie ja abspecken oder anonymisieren oder eine Neue erstellen, bei der das selbe Problem auftaucht.
Anzeige
AW: Falscher Thread - Sorry!
06.01.2025 17:58:59
Piet
Hallo Frank

ich denke wir können das Problem OHNE Datei lösen. Probieren wir es mal.
.ListBox4.List(1, i) = Cells(lng, 102).Text --> der Fehler steckt m.E. in der 1 vor i
dort sollte - .ListBox4.List(.ListBox4.ListCount, i) - stehen. Ich bin gespannt ....

Ich lade mir ListCount vorher in eine Variable. Dannn könnte es so aussehen.
c= .ListBox4.ListCount
.ListBox4.List(c, i) = Cells(lng, 102).Text

mfg Piet
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18