Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
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

Brauche Hilfe

Brauche Hilfe
11.04.2013 10:45:33
Hans-Jürgen
Ich fülle mittels eines User-Forms eine Tabelle. Die eingegeben Werte werden eingetragen, dann folgt über die Summe von 3 Spalten und Vergleich mit der Hauptspalte eine Plausibilitätsprüfung. Ergibt sich ein Unterschied, habe ich folgendes schon ausprobiert:
MsgBox "In Ihrer Eingabe ist ein Fehler ! Bitte in der Tabelle korrigieren"
Unload Me
a)Tabellenname = ActiveWorkbook.ActiveSheet.Name
a)Sheets(Tabellenname).Visible = True
b)Application.Visible = True

Ich möchte also die MsgBox anzeigen (klappt auch) und danach die Userform schliessen und die Tabelle zu Korrekturzwecken anzeigen. Bislang ende ich jedoch immer in der
Quellcodeanzeige - was mache ich falsch bzw. wie lautet der Code, um das gewünschte Ziel zu erreichen ?

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Brauche Hilfe
11.04.2013 10:59:38
Klaus
Hallo Hans Jürgen,
hier antworten Menschen, keine Computer. Eine freundliche Anrede und ein Gruß am Ende lassen den Beitrag viel freundlicher erscheinen.
Die Betreffzeile darf beschreibend ausgefüllt werden. Hilfe braucht hier jeder, sonst würde er nicht posten. Ein vielsagender Betreff wie "Abbruchbedingung einer Userform" lockt die VBA-Spezialisten in deinen Beitrag, während die Formelprofis nicht ihre Zeit verschwenden müssen.
Von der Sache her so:
if UNPLAUSIBEL then
MsgBox "In Ihrer Eingabe ist ein Fehler ! Bitte in der Tabelle korrigieren"
Unload Me
Tabellenname = ActiveWorkbook.ActiveSheet.Name
Sheets(Tabellenname).Visible = True
Application.Visible = True
end if
kann aber nicht klappen. Das impliziert ja, dass "Sheets(Tabellenname)" vorher nicht visible war. Dann kann es auch nicht aktiv sein.
Das zu lösen ist sicherlich einfach, man müsste aber dazu deinen gesamten Code kennen.
Grüße,
Klaus M.vdT.

Anzeige
AW: Brauche Hilfe
11.04.2013 11:48:07
Hans-Jürgen
Hallo Klaus, erst einmal vielen Dank für die Belehrung. Im Eifer des Gefechts habe ich tatsächlich vergessen, mit Hallo zu beginnen und mit MfG zu schliessen - ENTSCHULDIGUNG - kommt nicht wieder vor!
Ich habe es im Code zuerste mit Unload.Me probiert und dachte, danach würde die Tabelle ohnehin angezeigt. Da das nicht funktionierte, habe ich die mit a)gekennzeichnete Variante ausprobiert und danach b) beide ohne Erfolg.
Der Programmablauf ist - wie beschrieben - die Plausi stellt fest, dass zwei Beträge unterschiedlich sind und zeigt die MsgBox an, soll die User.Form verschwinden lassen und das aktive Tabellenblatt anzeigen.
MfG
HJVDB

Anzeige
AW: Brauche Hilfe
11.04.2013 11:57:35
Klaus
Hallo HJ,
ohne deinen Code kann ich weiterhin nur raten .... die Tabelle ist gar nicht ausgeblendet?
if UNPLAUSIBEL then
MsgBox "In Ihrer Eingabe ist ein Fehler ! Bitte in der Tabelle korrigieren"
Unload Me
Sheets("Tabelle1").activate
end if
für Tabelle1 ... wenn die bei dir anders heisst, musst du das natürlich anpassen.
Grüße,
Klaus M.vdT.

AW: Brauche Hilfe
11.04.2013 13:46:47
Hans-Jürgen
Hallo Klaus,
der Programmablauf sieht so aus, dass sich die Tabelle öffnet und zwei Commandbuttons anzeigt:
Dateneingabe und Tabellendruck. Bei Betätigung von Dateneingabe erscheint die User-Form und es
können die entsprechenden Eingaben gemacht werden. In der Form ist u.a. ein SPEICHERN-Button,
der zum Abspeichern in der Tabelle führt, danach erfolgt über die Summenspalten die Plausi-Prüfung.
Und die soll eben dazu führen, dass bei einer NICHT-Übereinstimmung von zwei Beträgen die Anzeige
der MsgBox erscheinen, danach die User-Form geschlossen und wieder das Tabellenblatt angezeigt
werden soll, damit man darin die Korrekturen vornehmen kann.
Liegt es evtl. daran, dass ich das Programm mittels F5 aus der VBA-Umgebung heraus teste ?
Mit freundlichen Grüssen
Hans-Jürgen

Anzeige
AW: Brauche Hilfe
11.04.2013 13:54:00
Klaus
Hallo HansJürgen,
ich zitiere mich mal selbst:
ohne deinen Code kann ich weiterhin nur raten
der Button links von "Vorschau" führt zum Datei-Upload.
Grüße,
Klaus M.vdT.

AW: Brauche Hilfe
11.04.2013 16:30:56
Hans-Jürgen
Hallo Klaus,
OK, füge den kompletten Code mal bei wobei ich ausdrücklich darauf hinweisen möchte, dass dieser sicherlich keinesfalls perfekt ist, aber für einen Anfänger wie mich den Erfordernissen genügt,
zumal ohnehin nur meine Frau als Kassiererin das Programm zu bedienen braucht. Ich möchte hiermit
für eventuelle andere Anwendungen Erfahrungen sammeln, was geht und wie es geht.
Danke für Deine Bemühungen !!
MfG
Hans-Jürgen
https://www.herber.de/bbs/user/84831.xlsm
P.S. Das PW ist AKolping

Anzeige
AW: Brauche Hilfe
11.04.2013 11:03:00
Peter
Hallo Hans-Jürgen,
eine Anrede und ein Gruß lassen eine Anfrage gleich viel freundlicher aussehen!
Wozu deine Punkte A, b, c?
Wenn das UserForm(ular) geschlossen wird, sollte das aktive Sheet doch automatisch zur Bearbeitung sichtbar sein.
Gruß Peter

AW: Brauche Hilfe
11.04.2013 11:49:41
Hans-Jürgen
Hallo Peter, erst einmal vielen Dank für die Belehrung. Im Eifer des Gefechts habe ich tatsächlich vergessen, mit Hallo zu beginnen und mit MfG zu schliessen - ENTSCHULDIGUNG - kommt nicht wieder vor!
Ich habe es im Code zuerst mit Unload.Me probiert und dachte, danach würde die Tabelle ohnehin angezeigt. Da das nicht funktionierte, habe ich die mit a)gekennzeichnete Variante ausprobiert und danach b) beide ohne Erfolg.
Der Programmablauf ist - wie beschrieben - die Plausi stellt fest, dass zwei Beträge unterschiedlich sind und zeigt die MsgBox an, soll die User.Form verschwinden lassen und das aktive Tabellenblatt anzeigen.
MfG

Anzeige
AW: Brauche Hilfe
12.04.2013 09:11:17
Klaus
Hi,
ich kann den Code leider nicht testen, da mir die Datei
"C:\Kolpingkasse\KFBUNR.DAT"
dazu fehlt.
Innerhalb der Sub "Plausipruefung" bezieht sich das VBA bereits auf "activesheet".
Dass heisst, es MUSS bereits das richtige Sheet aktiv sein. Nach einem einfachen
Unload Me um die Userform loszuwerden, MUSS es bereits im richtigen Blatt sein - eigentlich darf da kein Fehler kommen.
bislang ende ich jedoch immer in derQuellcodeanzeige
in welcher ZEILE EXAKT endest du in der Quellcodeanzeige, und wie ist die Fehlermeldung?
Public Sub Plausipruefung()
Dim pruefsumme As Double
Dim HKSumme As Double
Dim Auswertung As Integer
Dim Tabellenname As String
pruefsumme = 0
pruefsumme = ActiveSheet.Cells(48, 6).Value + ActiveSheet.Cells(48, 8).Value +  _
ActiveSheet.Cells(48, 10).Value
HKSumme = 0
HKSumme = ActiveSheet.Cells(48, 4).Value
If HKSumme  pruefsumme Then
Beep: Beep: Beep
MsgBox "In Ihrer Eingabe ist ein Fehler ! Bitte in der Tabelle korrigieren"
Unload Me
'Tabellenname = ActiveWorkbook.ActiveSheet.Name
'Sheets(Tabellenname).Visible = True
'Application.Visible = True
Else
Auswertung = 0
End If

Anzeige
AW: Brauche Hilfe
12.04.2013 14:55:53
Hans-Jürgen
Hallo Klaus, erstmal vielen Dank für Deine Arbeit mit meinem Problem !! Bei der KFBUNr.Dat handelt es sich um eine einfache sequentielle Datei mit 2 Eintragungen: Freie Buchungsnummer und Blatt. Im vorliegenden Fall also (untereinander) die 25 und eine 1. Ich muss die Buchungsnummer separat verwalten, da über die 3 Seiten hinweg die Buchungsnummer fortgeführt werden muss und auf den entsprechenden Belegen der Geldein- bzw. Ausgänge vermerkt wird. Das schien mir der einfachste Wege zu sein. Hinsichtlich Deiner Frage in welcher ZEILE EXAKT endest du in der Quellcodeanzeige, und wie ist die Fehlermeldung? kann ich nur sagen, dass ich zu Testzwecken das Programm immer in Ansicht der Plausprüfung mittels F5 aufgerufen und zu Testzwecken eine falsche Eingabe gemacht habe. Ich sehe dann meine MsgBox, betätige OK und stehe (ohne Fehlermeldung) wieder im Quellcode. Hier würde ich dann gerne die Tabelle sehen, um die entsprechenden Korrekturen vornehmen zu können. (Was soll meine Frau auch mit dem Quellcode anfangen ;-))
MfG
Hans-Jürgen

Anzeige
AW: Brauche Hilfe
12.04.2013 20:11:20
Klaus
Hallo Hans-Jürgen,
aus dem Quellcode heraus kannst du kein Blatt aufrufen. Bist du im Quellcode bist du im Quellcode bist du im Quellcode.
Versucht mal, den Code aus dem Blatt heraus zu starten. Direkt, so wie deine Frau es macht. Und dann eine falsche Eingabe. Das sollte so, wie es ist, bereits klappen! (Nur Unload.Me, ohne irgendwelche Blatt-Activates).
Das erklärt auch die Verwirrung in diesem Thread, warum es nicht geht. Weil es bereits geht!
Grüße,
Klaus M.vdT.

AW: Brauche Hilfe
12.04.2013 20:31:02
Hans-Jürgen
Hallo Klaus,
HEUREKA - es läuft. Du hast natürlich vollkommen recht. Mein Fehler war tatsächlich, dass ich das ab dem ersten Versuch mit Unload Me und allen nachfolgenden Fallgestaltungen immer nur aus der Entwicklungsumgebung heraus versucht habe - manchmal ist man einfach zu blöööd !
Danke für Deine Hilfe, ich muss schon sagen, das Herber-Forum ist schon toll, weil einem hier besonders schnell geholfen wird. Und für evtl. weitere Fragen oder Probleme habe ich mir fest "eingehämmert", auch an Anrede und Verabschiedung zu denken ;-)
Viele Grüsse und schönes Wochenende
Hans-Jürgen
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige