Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Wo ist der Fehler? On Error GoTo
27.02.2023 16:02:47
Friederich
Ich möchte EIn Löschknopf programieren. Es soll erstmal geprüft werden ob überhaut der eingetragene Vertragsnummer zu finden ist. Wenn ja, kommt die Abfrage Löschen oder Abbrechen. Dafür habe ich folgendes programiert. Leider kommt nach der Löschung immer die MsgBox Fehler (also der Error Block). Ich verstehe nicht warum das auf Fehler läuft. Habe dies aus vielen Infos zusammengepuzzelt
Private Sub Löschen_Click()
'declare the variables
Dim findvalue As Range
Dim Response As VbMsgBoxResult
Dim cNum As Integer
Dim Search As String
'error statement
On Error GoTo errVertrag

Search = TextBoxVertragsnummer.Value

'check for control from listbox dblclick values
If TextBoxVertragsnummer.Value = "" Or Search = "" Then

MsgBox "Vertragsnummer eingeben und erneut suchen", 48, "Fehler", vbExclamation
Exit Sub

Else

'Markiere die Zeile:
Set findvalue = Tabelle_BÜTool.Range("A:AG").Find(What:=Search, LookIn:=xlValues, lookat:=xlWhole)

'in gelb

Cells(findvalue.Row, findvalue.Column).Interior.ColorIndex = 6


If Not findvalue Is Nothing Then

'Abfrage bevor gelöscht wird:
Response = MsgBox(Search & Chr(10) & _
"Wollen Sie den Eintrag löschen?", 292, "Löschen?")

If Response = vbYes Then

'Lösche Eintrag
findvalue.EntireRow.Delete
Me.TextBoxVertragsnummer.Value = ""
lstLookup.RowSource = ""

End If

Else

MsgBox Search & Chr(10) & "Vertragsnummer konnte nicht gefunden werden", 48, "Fehler", vbExclamation

End If


End If


'error block
errVertrag:
If Err > 0 Then

MsgBox Search & Chr(10) & "Fehler", 48, "Fehler"

End If

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wo ist der Fehler? On Error GoTo
27.02.2023 16:14:03
onur
Du musst ja auch VOR dem "Error Block" die Sub verlassen, denn der "Error Block" ist genauso ein Teil des Codes und wird mit abgearbeitet.
da fehlt ein Exit Sub
27.02.2023 16:19:20
Matthias
Hallo,
'...
Exit Sub
  'error block
errVertrag:
'...
MfG Matthias
AW: Wo ist der Fehler? On Error GoTo
27.02.2023 16:30:05
GerdL
Moin
Private Sub Löschen_Click()
'declare the variables
Dim findvalue As Range, Response As VbMsgBoxResult, cNum As Integer, Search As String
Search = TextBoxVertragsnummer.Value
'check for control from listbox dblclick values
If TextBoxVertragsnummer.Value = "" Or Search = "" Then
    MsgBox "Vertragsnummer eingeben und erneut suchen", 48, "Fehler", vbExclamation
    Exit Sub
Else
    
        Set findvalue = Tabelle_BÜTool.Range("A:AG").Find(What:=Search, LookIn:=xlValues, lookat:=xlWhole)
        
        If Not findvalue Is Nothing Then
                'Markiere die Zelle:
                'in gelb
                 findvalue.Interior.ColorIndex = 6
            
                 'Abfrage bevor gelöscht wird:
            
                 Response = MsgBox(Search & Chr(10) & _
                "Wollen Sie den Eintrag löschen?", 292, "Löschen?")
            
                If Response = vbYes Then
            
                    'Lösche Eintrag
                    lstLookup.RowSource = ""
                    findvalue.EntireRow.Delete
                    Me.TextBoxVertragsnummer.Value = ""
                           
                End If
        
        Else
    
            MsgBox Search & Chr(10) & "Vertragsnummer konnte nicht gefunden werden", 48, "Fehler", vbExclamation
    
        End If
End If
End Sub
Gruß Gerd
Anzeige
AW: Wo ist der Fehler? On Error GoTo
27.02.2023 19:55:45
Friederich
Ihr Seid so toll. Ich verstehe noch nicht alles aber ich komme voran. Danke euch allen
Und weil es so toll ich, vielleicht findet ihr noch den Fehler raus:
Warum kopiert er nicht die erste Zeile in der Tabelle_BÜTool mit? Hatte es geschafft und jetzt funktioniert es wieder nicht. Ich verzweifle....
Danke für eure Antworten.
Sub Schaltfläche1_Klicken()
 
 Dim lngZeile As Long
 Dim lngZeileMax As Long
 Dim lngZ As Long
 
 Tabelle1.UsedRange.Clear
 
 With Tabelle_BÜTool
 
     Set rngBereich = .Rows(1)
 
     lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
 
     For lngZeile = 1 To lngZeileMax
 
 If .Cells(lngZeile, 3).Value = "" And .Cells(lngZeile, 4).Value = "Falsch" And .Cells(lngZeile, 5).Value = "Falsch" Then
 Set rngBereich = Union(rngBereich, .Rows(lngZeile))
 
 End If
 
 Next lngZeile
 
 rngBereich.Copy Destination:=Tabelle1.Range("A1")
 
 End With
 
 End Sub

Anzeige
AW: Wo ist der Fehler? On Error GoTo
27.02.2023 20:40:05
Piet
Hallo
bei mir klappt es! Du solltest aber For Next auf 2 To lngZeileMax setzen Sonst überschreibst du vielleicht was?
mfg Piet
AW: Wo ist der Fehler? On Error GoTo
27.02.2023 21:28:10
Friederich
Das Tabelelnblatt ist immer leer, wenn ich das ausführe. Ich versuche es morgen nochmal. Danke
AW: Wo ist der Fehler? On Error GoTo
27.02.2023 21:11:48
GerdL
Hallo,
lass mal laufen.
Msgbox Tabelle_BÜTool.Cells(1, 1).Text
Gruß Gerd
AW: Wo ist der Fehler? On Error GoTo
27.02.2023 21:29:48
Friederich
Ich habe es geschafft mit den vorherigen Hinweise. Danke dir
AW: Wo ist der Fehler? On Error GoTo
28.02.2023 13:47:27
Friederich
Hi, also die Kofpzeile (Zeile1) meiner Tabelle BÜ-Tool hat die Einträge Vertragsnummer/OrgaNr/KDEX/neue I/ Mit Umstellung
die Kopfzeile wird nicht mit kopiert in die neue Tabelle. Das möchte ich aber gerne ;-)
Anzeige
AW: Wo ist der Fehler? On Error GoTo
28.02.2023 13:59:40
Friederich
Ich habe es hinbekommen. Die BÜ-Tool Tabelle darf nicht als Tabelle formatiert sein!

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige