Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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
Inhaltsverzeichnis

Kontrollsumme prüfen bis =0

Kontrollsumme prüfen bis =0
David
Hallo zusammen
ich habe eine Datei, die ich per Userform mit Daten füllen will. Dabei soll der User bestimmte Zahlen eingeben, deren Kontrollsumme Null ergibt. Wenn die Kontrollsumme nicht Null ist, soll der User in der UF die Zahlen wieder ändern können.
Das Problem wollte ich versuchsweise mit einem Do-Loop-Konstrukt lösen. Allerdings weiß ich nicht, wie ich aus der Loop-Schleife heraus wieder an die Eingaben im Formular herankomme, da ja dann permanent die Msgbox zu sehen ist.
Bisheriger Stand anbei:
https://www.herber.de/bbs/user/65375.xls
Ich hoffe, das ich das Problem verständlich beschreiben konnte. Wenn meine Idee mit dem Loop nicht sinnvoll erscheint, bin ich auch gern für Alternativen offen.
Danke vorab und Gruß
David

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

Betreff
Benutzer
Anzeige
AW: Kontrollsumme prüfen bis =0
27.10.2009 17:50:46
hary
Hi Daniel
muss gleich weg, aber teste mal so.

Private Sub CommandButton1_Click()
Check_1 = CLng(B_gesamt_1) - CLng(B_unter_1) - CLng(B_ueber_1) - CLng(B_sonder_1) - CLng( _
B_gut_1)
If Check_1 > 1 Then
B_gesamt_1.SetFocus
MsgBox "Bitte Eingaben prüfen"
End If
Cells(LoLetzte + 1, 2) = Calendar
Cells(LoLetzte + 1, 3) = Artikel
Cells(LoLetzte + 1, 5) = Maschine
Cells(LoLetzte + 1, 6) = B_gesamt_1
Cells(LoLetzte + 1, 7) = B_unter_1
Cells(LoLetzte + 1, 8) = B_ueber_1
Cells(LoLetzte + 1, 9) = B_sonder_1
Cells(LoLetzte + 1, 10) = B_gut_1
'Datum.Activate
End Sub

Gruss hary
Anzeige
sry meinte nat. David owT
27.10.2009 17:52:00
hary
.
AW: Kontrollsumme prüfen bis =0
28.10.2009 08:07:08
David
Hallo Hary,
damit bekommt zwar die Eingabe wieder den Focus, aber die Eintragung in die Tabelle wird trotz des Fehlers vorgenommen, was ich ja vermeiden will.
Gruß
David
AW: Kontrollsumme prüfen bis =0
27.10.2009 18:03:48
Luschi
Hallo David,
versuch es mal so:

Private Sub CommandButton1_Click()
Dim xCheck As Long
xCheck = -1
Do Until xCheck = 0
xCheck = CLng(Me.B_gesamt_1.Value) - CLng(Me.B_unter_1.Value) - _
CLng(Me.B_ueber_1.Value) - CLng(Me.B_sonder_1.Value) - _
CLng(Me.B_gut_1.Value)
Me.Check_1.Value = xCheck
If xCheck  0 Then
MsgBox "Bitte Eingaben prüfen"
Exit Sub
End If
Loop
ActiveSheet.Cells(LoLetzte + 1, 2).Value = Me.Calendar.Value
ActiveSheet.Cells(LoLetzte + 1, 3).Value = Me.Artikel.Value
ActiveSheet.Cells(LoLetzte + 1, 5).Value = Me.Maschine.Value
ActiveSheet.Cells(LoLetzte + 1, 6).Value = Me.B_gesamt_1.Value
ActiveSheet.Cells(LoLetzte + 1, 7).Value = Me.B_unter_1.Value
ActiveSheet.Cells(LoLetzte + 1, 8).Value = Me.B_ueber_1.Value
ActiveSheet.Cells(LoLetzte + 1, 9).Value = Me.B_sonder_1.Value
ActiveSheet.Cells(LoLetzte + 1, 10).Value = Me.B_gut_1.Value
'Datum.Activate
End Sub
Es ist immer gut, wenn man im Vba-Code die vollständige Objekt-Bezeichnung (Me. und ActiveSheet.) sowie die gewünschte Eigenschaft (.Value) mit angibt; auch wenn sie Standard sind.
Dann kann man keine bösen Überraschungen erleben, wenn man dachte, daß das/die Standardobjekt/Standardeigenschaft so sei, aber in Wirklichkeit ganz anders ist.
Als ich das 1. Mal mir Deinen Vba-Code ansah, wußte ich nicht, das 'Check_1' eine Textbox im Formular ist, sondern vermutete eine nicht deklarierte Variable.
Und so kann es dann zu Irrtümern kommen und kann eventuelle Vba-Fehler nur sehr finden. Noch schlimmer wird es, wenn es kein Vba-Fehler ist, sondern die Ergebnisse aus den Textboxen des Formulars in falsche Tabellen geschrieben werden.
Diese exakte Referenz auf Objekten bzw. Eigenschaften/Methoden sollte man sich angewöhnen. Leider wird das hier im Forum sehr mangelhaft praktiziert.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Kontrollsumme prüfen bis =0
28.10.2009 07:50:23
David
Hallo Luschi,
die "Check_1"-Textbox soll eigentlich nur zur Anzeige der Variable dienen, nicht umgekehrt. D.h. prinzipiell eine berechnete Variable, die dem Eingebenden nur optisch zugänglich gemacht werden soll.
Das gesamte Konstrukt ist noch sehr "wackelig", da es meine ersten Versuche mit einer Userform darstellen. Bisher habe ich mich nur mit VBA selbst beschäftigt und dort einiges gelernt. Die Interaktion mit dem vor dem Rechner Sitzenden ist für mich noch recht spröde zu realisieren, aber ich lerne... ;-)
Den Code werde ich später testen (wegen Zeitmangel) - ich gebe dann noch mal Rückmeldung.
Erst mal danke und Gruß
David
Anzeige
AW: Kontrollsumme prüfen bis =0
28.10.2009 08:33:58
David
Hallo Luschi,
dein Code funzt soweit wie gewünscht.
Mal sehen, was als nächstes Problem kommt... ;-)
Danke und Gruß
David

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige