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
20.02.2008 18:35:00
Brunken,
Hallo zusammen,
brauche schnell hilfe. Habe mir eine Anwendung mit Excel gebaut (viele details hier aus dem Forum)
darin habe ich eine Tab, beim Start öffnet sich über AutoOpen ein Formular in diesem wird
- in ListBox ein Ordner mit xls Dateien eingelesen
- in ListBox aus gleichem Ordner jpg Dateien eingelesen
- in einer weiteren ListBox und gleichem Ordner pdf Dateien eingelesen
desweiteren sind auf der UF Textfelder für diverse Eingaben, über das Klickereignis kann direkt auf die xls
Datei drauf zugegriffen werden, dabei werden die Textfelder aus dem Excelblatt geschrieben zahlen, Texte
aus verschiedenen Zellen des eingelesenen Dokumentes so das ich diese Werte nicht abschreiben brauche. Zum anderen können die daten ausgewählt werden und direkt mit Outlook versendet werden etc.
das funktioniert auch, bis zu einem Punkt dann läuft Excel sich TOT bzw. kann nicht beendet werden. Nur über ctrl+entf möglich und meine Daten die ich dabei eingentlich gleich in die Tabelle schreibe sind natürlich weg. Muss von vorne anfangen.
Wie kann ich das sicher stellen? das es garnicht erst passiert?
Wer kann mir da helfen? denn meine Daten sind mittlerweile angewachsen und für mich ist das eine große Hilfe bei der täglichen Arbeit mit den Daten.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel hängt
20.02.2008 19:30:40
Ramses
Hallo
"..Wer kann mir da helfen? .."
Niemand, weil niemand den Code kennt den du da zusammengezimmert hast.
Da gibt es tausend Ursachen dafür.
"...bis zu einem Punkt dann läuft Excel sich TOT ..."
Zeig doch mal den Punkt, bzw. den entsprechenden Codeausschnitt.
Gruss Rainer

AW: Excel hängt
20.02.2008 20:15:01
Brunken,
Habe ich mir beinahe gedacht!
nur der genaue Punkt, den kann ich nicht zuordnen. Wenn ich die Dokumente wie im Code aus der ListBox
lade, bearbeite und dann Bspw. den Haken setze für Daten auswählen die nach Outlook gebracht werden.
ich das Form schließe, dann beginnt die Eieruhr unaufhörlich zu laufen, klicke ich auf das Tabellenblatt beruhigt sich die Eieruhr wieder, starte ich die Form wieder dann ist (könnte es der Punkt sein wo nichts mehr geht. In der Regel sagt mir Excel könne nicht beendet werden.
Code:

Private Sub UserForm_Activate()
Call Fuellen_Lieferant
Call Fuellen_Vermerk
Me.txtSendeDat = Date
End Sub


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)
If Err = 0 Then
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


Sub Fuellen_Vermerk()
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
cboVermerk.Clear
For iRow = 4 To ALetzte
If Not IsEmpty(Cells(iRow, 7)) Then
col.Add Cells(iRow, 7), Cells(iRow, 7)
If Err = 0 Then
cboVermerk.AddItem Cells(iRow, 7)
Else
Err.Clear
End If
End If
Next iRow
On Error GoTo 0
Call Sortieren2
On Error Resume Next
cboVermerk.ListIndex = 0
End Sub


Sub Sortieren1()
Dim Letzter As Integer, Naechster As Integer
Dim i As String
With cboLieferant
For Letzter = 0 To .ListCount - 1
For Naechster = Letzter + 1 To .ListCount - 1
If .List(Letzter) > .List(Naechster) Then
i = .List(Letzter)
.List(Letzter) = .List(Naechster)
.List(Naechster) = i
End If
Next Naechster
Next Letzter
End With
End Sub


Sub Sortieren2()
Dim Letzter As Integer, Naechster As Integer
Dim i As String
With cboVermerk
For Letzter = 0 To .ListCount - 1
For Naechster = Letzter + 1 To .ListCount - 1
If .List(Letzter) > .List(Naechster) Then
i = .List(Letzter)
.List(Letzter) = .List(Naechster)
.List(Naechster) = i
End If
Next Naechster
Next Letzter
End With
End Sub



Private Sub UserForm_Initialize()
Dim fso As FileSystemObject
Dim fol As Folder
Dim fil As File
Dim rngZelle As Range
'Status
Dim dLabel1  As Double
Dim dLabel2  As Double
Dim dBreite  As Double
Dim dSumme   As Double
Dim dWidth1  As Double
Dim dWidth2  As Double
If Worksheets("admin").Range("H1").Value  "" Then
If IsNumeric(Worksheets("admin").Range("H1").Value) Then
dLabel1 = CDbl(Worksheets("admin").Range("H1").Value)
Else
MsgBox "Der 1. Wert in Zelle ""H1"" ist nicht nummerisch.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
Else
MsgBox "Es gibt keinen 1. Wert in Zelle ""H1""", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
If Worksheets("admin").Range("H2").Value  "" Then
If IsNumeric(Worksheets("admin").Range("H2").Value) Then
dLabel2 = CDbl(Worksheets("admin").Range("H2").Value)
Else
MsgBox "Der 2. Wert in Zelle ""H2"" ist nicht nummerisch.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
Else
MsgBox "Es gibt keinen 2. Wert in Zelle ""H2""", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
dBreite = Label118.Width + Label119.Width                     ' Breite beider Label
dSumme = dLabel1 + dLabel2                                    ' Summe aus Zelle H1 + Zelle  _
H2 = 100%
dWidth1 = dLabel1 / dSumme * 100                              ' prozentualer Anteil Zelle H1
dWidth2 = dLabel2 / dSumme * 100                              ' prozentualer Anteil Zelle H2
With Label118                                                 ' für Label 1
.Left = 174                                                ' Start-Position für Label 1
.Width = dBreite * dWidth1 / 100                           ' prozentualer Anteil an  _
beiden Label-Width
.Caption = Format(dLabel1 / dSumme * 100, "##0.00") & " %" ' die Prozente anzeigen
.Font.Size = 8                                             ' die Schriftgröße
End With
With Label119                                                 ' für Label 2
.Left = (dBreite * dWidth1 / 100) + 174                    ' Start-Position ist Label 1. _
Width
.Width = dBreite - Label118.Width                          ' restliche Gesamtbreite -  _
Label 1.Width
.Caption = Format(dLabel2 / dSumme * 100, "##0.00") & " %" ' die Prozente anzeigen
.Font.Size = 8                                             ' die Schriftgröße
End With
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ _
strPath = ActiveWorkbook.Path
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(strPath)
For Each fil In fol.Files
If LCase(Right(fil.Name, 3)) = "xls" Then
lstTOC.AddItem fil.Name
End If
Next fil
Me.txtStatus = Date
For Each fil In fol.Files
If LCase(Right(fil.Name, 3)) = "jpg" Then
BildBox.AddItem fil.Name
End If
Next fil
For Each fil In fol.Files
If LCase(Right(fil.Name, 3)) = "pdf" Then
PDFBOX.AddItem fil.Name
End If
Next fil
For Each rngZelle In Range(Cells(4, 5), Cells(Cells(Rows.Count, 5).End(xlUp).Row, 5))
If rngZelle.Value  "" Then
cboLieferant.AddItem rngZelle.Value
End If
Next rngZelle
For Each rngZelle In Range(Cells(4, 7), Cells(Cells(Rows.Count, 7).End(xlUp).Row, 7))
If rngZelle.Value  "" Then
cboVermerk.AddItem rngZelle.Value
End If
Next rngZelle
'For Each rngZelle In Range(Cells(4, 6), Cells(Cells(Rows.Count, 6).End(xlUp).Row, 6))
'If rngZelle.Value  "" Then
'    cboSonstiges.AddItem rngZelle.Value
'End If
'Next rngZelle
opt_alle.Value = True
Label116 = Sheets("admin").Cells(1, 6).Value & "  fehlerhafte Bauteile in Datenbank!"
lblerledigt = Sheets("admin").Cells(1, 8).Value & "   erledigt, 8D-Report vorhanden! "
lbloffen = Sheets("admin").Cells(2, 8).Value & "   offen, 8D-Report n. vorhanden! "
End Sub


Anzeige
AW: Excel hängt
20.02.2008 20:20:39
Ramses
Hallo
Das baut niemand nach. Mal eine Beispieldatei hochladen.
Wenn das nicht geht, schmeiss mal das ganze "On Error Resume Next" raus.
Das hilft vielleicht bei der Fehlersuche
Gruss Rainer

AW: Excel hängt
20.02.2008 21:15:00
Brunken,
Hallo Rainer,
habe ich gemacht, und erhalte folgende Laufzeitfehler
- 457 , dieser Schlüssel ist bereits einem Element dieser Auflistung zugeordnet
der debugger springt in diese Zeile 'col.Add Cells(iRow, 5), Cells(iRow, 5)
wenn ich ihn ausblende und das Form neu starte das gleiche
nun springt er in diese Zeile 'col.Add Cells(iRow, 7), Cells(iRow, 7)
nach dem ausblenden folgt diese Meldung wenn Form gestartet wurde zwecks testen
Laufzeitfehler 94
Unzulässige Verwendung von Null
Gruß
Erich

Anzeige
AW: Excel hängt
20.02.2008 21:18:47
Ramses
Hallo
Dann würde ich an Deiner Stelle nun Punkt für Punkt den Code anpassen bzw. abarbeiten bis er Fehlerfrei läuft oder du den Fehler gefunden hast.
Vermutlich kommst du wegen einer fehlerhaften Variable in eine Endlosschleife oder sonst irgendwas.
Gruss Rainer

AW: Excel hängt
21.02.2008 17:30:19
Brunken,
Hallo Rainer,
Danke, aber ich finde den Fehler nicht kannst du mir da bitte helfen?
https://www.herber.de/bbs/user/50085.zip
ist das gleiche was ich z.Z. verwende allerdings nur mit Bsp. Daten
Gruß
Erich

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige