Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel hängt

Excel hängt
23.02.2008 15:35:00
Brunken,
Hallo zusammen,
gehe davon aus das es dafür doch keine Lösung gibt?
da ich auf die Problembeschreibung nichts weiteres gehört habe.
Gruß
Erich

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
o.t.
23.02.2008 16:16:56
erledigt
-

AW: o.t.
23.02.2008 18:48:09
Brunken,
Sorry,
das Thema ist nicht erledigt!
ich suche immer noch nach einer Lösung.
warum Excel sich aufhängt, habe ich noch nicht herausgefunden.
https://www.herber.de/bbs/user/50145.zip
Gruß
Erich

AW: Fehler im Code suchen
23.02.2008 22:22:17
Gerd
Hallo Erich,
schreibgeschützte Dateien hochladen ist nicht so das Wahre, wenn auch
ein paar sehr schöne Sachen drin sind. :-)
Da der Fehler auf den ersten Blick beim Füllen der "Col" auftritt, den
Keys Zellenwerte zugewiesen werden, könnte die Ursache darin liegen, dass
diese Zellenwerte ab u. zu mehrfach vorkommen, die Keys müssen aber
einmalig sein.
Oder die Objekte müssen vor wiederholender Nutzung mal mit der
Set - Anweisung auf "Nothing" gesetzt werden.
Kommentiere die Fehlerbehandlungsroutinen ".....Resume ..." , "On Error..."
vollständig aus, setze Haltepunkte u. teste mit der F8-Taste im Einzelschritt-Modus.
Dann könntest der Ursache etwas näher kommen.
Gruß Gerd

Anzeige
AW: Fehler im Code suchen
23.02.2008 23:55:18
Nepumuk
Hallo Erich,
bei mir bleibt da nichts hängen. Ich hab allerdings erst mal allen On Error - Anweisungen auskommentiert. Dabei fällt auf, dass diese bei dir nur unsaubere Programmierung übertünchen. Z.B. das setzen eines Listindex einer leeren Combobox. Da setzt man nicht On Error Resume Next davor, sondern frag vorher die Listcount - Eigenschaft ab, ob die größer 0 ist. So könnte ich jetzt noch eine DIN A4 Seite weitermachen, aber dazu habe ich keinen Bock.
Schau mal zu, dass dein Code in "Normalfall" ohne On Error - Anweisungen durchläuft und wenn das der Fall ist, dann bau saubere Errorhandler in den Code ein. On Errror Resume Next ist ziemlicher Mist wenn man nicht weiß was passiert. Ich hab diese Anweisung in 50.000 Zeilen Code des letzten Projektes nur an zwei Stellen drin und das jeweils nur für eine Zeile, danach schalte ich sofort wieder in den normalen Errorhandler, welcher mir eine Meldung ausgibt.
Gruß
Nepumuk

Anzeige
AW: Fehler im Code suchen
24.02.2008 08:54:00
Brunken,
Hallo zusammen,
da ich damit nicht richtig klarkomme, habe ich das hier eingestellt.
Ich werde eure Vorschläge mal probieren, glaube aber das mir das nicht gelingt da ich in VBA nicht so gut bin.
Gruß
Erich

AW: Fehler im Code suchen
24.02.2008 09:25:20
Nepumuk
Hallo Erich,
zerlege deinen Code in handliche Stücke und frag einfach nach. Das bekommen wir gemeinsam schon gebacken. Aber bitte eine Frage nach der anderen und nicht alle in einem Thread sondern für jede einen. Sonst verlieren wir den Überblick und du sollst ja wirklich was lernen dabei und nicht ein Gesamtwerk vorgekaut bekommen. Wenn du eine Antwort nicht verstehst, hak nach!!!
Gruß
Nepumuk

Anzeige
AW: Fehler im Code suchen
24.02.2008 09:34:39
Brunken,
Danke,
da wäre zunächst diese On Error - Anweisungen auskommentiert ?
kann ich nicht viel mit anfangen, wie muss ich das verstehen?
Gruß
Erich

AW: Fehler im Code suchen
24.02.2008 09:49:00
Nepumuk
Hallo Erich,
na einfach ein Hochkomma davor setzen. Damit ist das keine gültige Anweisung mehr, sondern ein Kommentar (wenn du's nicht verstellt hast, in grüner Schrift).
Gruß
Nepumuk

AW: Fehler im Code suchen
24.02.2008 10:35:00
Brunken,
Hallo Nepumuk,
gleich beim Aufrufen des Formulars in diesem Code bzw. Schritt kommt die erste Meldung!
Ich meine das die 457 für Bspw. eine doppelt vergebene ListBox steht aber das kann es ja nicht sein, sonst wäre es eine entsprechende Meldung?

Sub Fuellen_Lieferant()
Dim col As New Collection
Dim iRow As Long, ALetzte As Long
ALetzte = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
'On Error Resume Next
cboLieferant.Clear
For iRow = 4 To ALetzte
If Not IsEmpty(Cells(iRow, 5)) Then
col.Add Cells(iRow, 5), Cells(iRow, 5) 'Laufzeitfehler '457' (diese Meldung erscheint,  _
in diesem Schritt)
If Err = 0 Then                                   'Dieser Schlüssel ist bereits einem  _
Element dieser Auflistung zugeordnet
cboLieferant.AddItem Cells(iRow, 5)
Else
Err.Clear
End If
End If
Next iRow
On Error GoTo 0
Call Sortieren1
'On Error Resume Next
cboLieferant.ListIndex = 0
End Sub


Anzeige
AW: Fehler im Code suchen
24.02.2008 10:56:15
Nepumuk
Hallo Erich,
dann schau mal nach, wie oft diese Routine aufgerufen wird. Schreib einfach eine Stop-Anweisung in die erste Zeile, dann bleibt die Routine stehen.
Sub Fuellen_Lieferant()
Stop
Dim col As New Collection
Dim iRow As Long, ALetzte As Long

Mit F8 kannst du einzelne Schritte weitergehen, mit F5 den Code komplett weiterlaufen lassen. Schau dir auch die Einträge in der Tabelle an, ob da nicht doppelte drin sind. Wenn das vorkommen kann, dann musst du vor dem Zuweisen eines Wertes an die Collection eine Abfrage schalten, ob der entsprechende Wert nicht schon drin ist. Oder du benutz ein anderes Key-System. Z.B. die Objektadresse der Zelle im Stackframe. Die ist für jede Zelle einmalig.
Aber mal eine andere Frage, wozu wird diese Collection überhaupt benötigt? Die enthält doch das selbe, wie die Tabelle. Vor allen Dingen sind das ja Objektverweise. Also wenn du in der Zelle was änderst, dann ändert sich natürlich auch der Wert in der Collection und umgekehrt, Änderungen in der Collection ändern auch Werte in der Tabelle.
Gruß
Nepumuk

Anzeige
AW: Fehler im Code suchen
24.02.2008 11:50:00
Brunken,

Wenn das vorkommen kann, dann musst du vor dem Zuweisen eines Wertes an die Collection eine Abfrage schalten, ob der entsprechende Wert nicht schon drin ist. Oder du benutz ein anderes Key-System. Z.B. die Objektadresse der Zelle im Stackframe.



Aber mal eine andere Frage, wozu wird diese Collection überhaupt benötigt?


Was ist eine Collection?
Habe das jetzt mal so probiert, hiermit komme ich aber nicht klar in der Tabelle gibt es doppelte Einträge das ist auch gewünscht, in der ComboBox nicht.
Was habe ich noch für möglichkeiten, bis zum Stop mit F8 wird ordentlich abgearbeitet.
Bspw. die Dateien auslesen aus dem Ordner kann man mit F8 sehen das hier die Schleife solange wiederholt wird bis alle Dateien gelesen wurden.
Gruß
Erich

Anzeige
AW: Fehler im Code suchen
24.02.2008 12:06:00
Nepumuk
Hallo Erich,

Was ist eine Collection?


Das musst du doch wissen, denn in deinem Code sehe ich folgende Deklaration:
Dim col As New Collection
Und mit der Add-Methode fütterst du sie ja auch.
Gruß
Nepumuk

AW: Fehler im Code suchen
24.02.2008 12:39:00
Brunken,
Hallo Nepumuk,
ich glaube ich habs, der Wink mit dem Zaunpfahl war doch recht hilfreich.
Habe die ComboBoxen cboLieferant, cboVermerk rausgeschmissen und normale Textfelder dafür verwendet. Nach einigen Änderungen im Code und Tests hatte ich keine Abstürze mehr.
Eingentlich wollte ich die ja für Auswahl aus der ComboBox nutzen! aber es geht auch ohne.
Danke, für den Zaunpfahl!
schönen Sontag,
Gruß
Erich
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige