Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler in Code von UserForm

Fehler in Code von UserForm
16.04.2007 19:44:15
Andreas

Hallo Excelforum!
Ich habe in meiner Mappe gerade ein großes Problem entdeckt.
Mit Hilfe dieses Forums (insbes. Benis Hilfe) habe ich ein Eingabeformular erarbeitet mit dem ich Firmeneinträge neu anlegen, suchen, ändern, und löschen kann, das klappt auch soweit super. Allerdings habe ich 2 Fehler entdeckt.
Wenn ich einen neuen Eintrag (Firma) anlege und versehentlich auf "Ändern" klicke wird der Eintrag im Blatt "Auswertung" in die 2 Zeile geschrieben, die Liste beginnt aber erst in der 8. Zeile. Beim versehentlichen klick auf "Löschen" löscht es mir die Zeile 7 im Blatt "Auswertung".
Normalerweise sollen nur vorhanden Einträge geändert oder gelöscht werden können.
Die Mappe soll auch von anderen Nutzern bedient werden, deswegen ist es wichtig, diese beiden Fehler abzufangen.
Kann mir bitte Jemand helfen, ich verstehe nur sehr wenig von VBA.
Ich habe mal eine Beispielmappe hochgeladen.
https://www.herber.de/bbs/user/41803.xls
Danke für die Hilfe und Mühe!!
mfg, Andreas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Code von UserForm (Ergänzung)
16.04.2007 19:56:09
Andreas
Noch ein Hinweis: Die Daten im Blatt "Auswertung" können über ein UserFormAuswertung gefiltert und gedruckt werden, deswegen ist es sehr wichtig das die Struktur, insbesondere der Listenbeginn in A8 bestehen bleibt.
mfg, Andreas

AW: Fehler in Code von UserForm (Ergänzung)
17.04.2007 00:52:21
fcs
Hallo Andreas,
das Problem sind die Zeilen Set c =.Columns(1).Find ... in den Button-Prozeduren. Diese fangen bei der Suche schon in Zeile 1 der Spalte 1 an. Wird versehentlich ein Button gedrückt, dann wird je nach aktuellem Eintrag in der Textbox2 auch eine Zelle vor der Zeile 8 gefunden. Füge in die Button-Prozeduren noch eine Überprüfung der Zeilennummer der gefundenen Zelle ein. Etwa so:


Private Sub cbAendern_Click()
Dim lz As Integer
Application.ScreenUpdating = False
With Sheets("Auswertung")
Set c = .Columns(1).Find(What:=TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then lz = c.Row
If lz < 8 Then MsgBox "Eingabefehler oder versehentliche Buttonbetätigung!": Exit Sub
.Cells(lz, 2) = TextBox2 'Firma
Private Sub cbLöschen_Click()
Dim Mldg, Stil, Titel, Antwort
Mldg = "Datensatz löschen ?"
Stil = vbYesNo + vbCritical + vbDefaultButton2
Titel = "Datensatz löschen"
Antwort = MsgBox(Mldg, Stil, Titel)
If Antwort = vbNo Then Exit Sub
With Sheets("Auswertung")
Set c = .Columns(1).Find(What:=TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
If c.Row < 8 Then MsgBox "Eingabefehler oder versehentliche Buttonbetätigung!": Exit Sub
.Rows(c.Row).Delete Shift:=xlUp
End If
lz = .Cells(Rows.Count, 1).End(xlUp).Row

Das sollte das Problem beseitigen.
Gruß
Franz

Anzeige
AW: Danke für die Hilfe!
17.04.2007 09:27:08
Andreas
Hallo Franz!
Vielen, vielen Dank für deine Hilfe und Mühe. Funktioniert super, es ist kein Fehleintrag mehr möglich.
mfg Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige