Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
23.12.2007 15:57:51 |
roman |
|
|
Aw:removeitem funktioniert nicht |
24.12.2007 09:05:35 |
Holger |
|
|
|
24.12.2007 12:40:33 |
roman |
|
|
|
24.12.2007 13:43:54 |
Holger |
|
|
Von:
Holger |
Datum:
24.12.2007 09:05:35 |
Views:
1015 |
Rating:
|
Antwort:
|
Thema:
Aw:removeitem funktioniert nicht |
Hallo roman,
du versuchst, einen Eintrag zu löschen, der gar nicht mehr da ist. Das kann verschiedene Ursachen haben. Vielleicht hast du bereits in einem früheren Durchlauf einige Einträge gelöscht, so dass das Ende der gekürzten Liste jetzt neue Item-Nummern hat. Oder du hast dich mit dem Hochzählen des e geirrt und es müsste e-1 dort stehen, was am Ende der Liste ebenfalls zu einem Fehlen führen kann. Ich empfehle, vor dem RemoveItem einen Haltepunkt zu setzen und den Wert vor jedem Löschen zu überprüfen und mit der Länge der Liste zu vergleichen. Vielleicht entfernst du ab dem zweiten Durchlauf sogar den falschen Wert.
Ich habe heute keine Zeit, deine Listen und Schleifen im Detail nachzuvollziehen, doch denke ich, dass du den Fehler auch so selber finden wirst. Sonst melde dich noch einmal.
Frohes fest
Holger
roman schrieb am 23.12.2007 15:57:51:
hallo,
ich hab ein problem und zwar funktioniert mir in folgendem beispiel "Box.RemoveItem e" nicht, ich erhalte dann die fehlermeldung "Laufzeitfehler '-2147024809 (80070057)': ungültiges Argument -2." . Was mache ich falsch?
Hier der Code:
Private Sub FillBoxes(Box As ComboBox, Nr As Integer)
Dim NeueMaterialienListe() As String
Dim AlteMaterialienListe() As String
Dim NeueMaterialien() As String
Dim i, b, laengeNML As Integer
Dim e As Variant
ReDim AlteMaterialienListe(Box.ListCount) As String
i = 4
help = 0
While Worksheets("Tabelle2").Cells(i, 2).Value <> ""
If Worksheets("Tabelle2").Cells(i, 3).Value = "" And Worksheets("Tabelle2").Cells(i, 2).Value <> "nichts" And Nr = 1 Then
If MsgBox("Achtung, keine Wärmekennzahl! Wollen Sie weiterfahren?", vbOKCancel + vbInformation + vbDefaultButton2, "Hinweis") = vbCancel Then
End
End If
End If
laengeNML = 1 + laengeNML
i = i + 1
Wend
ReDim NeueMaterialienListe(laengeNML - 1) As String
For N = 4 To i - 1
NeueMaterialienListe(N - 4) = Worksheets("Tabelle2").Cells(N, 2).Value
Next
ReDim NeueMaterialien(Box.ListCount + laengeNML - 1)
b = 0
For Each Material In Box.List
AlteMaterialienListe(b) = Material
b = b + 1
Next
e = 0
d = 0
For Each Materialalt In AlteMaterialienListe
c = 0
For Each Materialneu In NeueMaterialienListe
c = c + 1
If Materialalt = Materialneu Then
e = e + 1
Exit For
ElseIf c = laengeNML Then
NeueMaterialien(d) = Materialneu
Box.RemoveItem e -> Hier reklamiert er
d = d + 1
End If
Next
Next
For N = 0 To d - 1
Box.AddItem NeueMaterialien(N)
Next
Box.ListIndex = "0"
Call Cleartest
End Sub |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
23.12.2007 15:57:51 |
roman |
|
|
Aw:removeitem funktioniert nicht |
24.12.2007 09:05:35 |
Holger |
|
|
|
24.12.2007 12:40:33 |
roman |
|
|
|
24.12.2007 13:43:54 |
Holger |
|
|