Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA wenn Wert eingetragen dann Message + Abbruch

VBA wenn Wert eingetragen dann Message + Abbruch
11.10.2017 09:50:23
Simon
Hallo liebe Leute!
Ich habe folgendes Problem:
Ich habe eine Liste die über Makros automatisch Daten einträgt.
Dazu habe ich aus meinen Makros "EINEN" Makro erstellt der nacheinander die jeweiligen Makros ausführt.
Dies sieht folgendermaßen aus:

Sub Termin_Vormittag_Raum1_Eintragen()
Call (Hier soll euer Makro rein kommen)
Call Termin_Eintragen
Call Formular_leeren
End Sub

Mein Makro macht nicht mehr als bestimmte Werte in eine Tabelle einzutragen jedoch kann es nun vorkommen das in einer Tabelle bereits Werte eingetragen sind.
Kann mir jemand einen Makro erstellen der ganz am Anfang meines "Ausführmakros" überprüft ob in der jeweiligen Zeile bereits ein Wert eingetragen ist. das heißt wenn ich meinen Makro ausführe soll wenn ein Wert eingetragen ist eine Fehlermeldung kommen mit "Tabelle bereits befüllt" und der darauffolgende Makro "Call Termin_Eintragen" soll abgebrochen werden.
Ich hoffe ich habe mich deutlich und verständlich ausgedrückt. Falls nicht einfach nachfragen.
Danke schon mal für die Hilfe!
Gruß Simon

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispielmappe bitte
11.10.2017 10:01:07
Werner
Hallo Simon,
-kein Mensch weiß, was deine Makros wo machen
-somit weiß auch niemand in welchem Blatt welche Zellen auf nicht leer geprüft werden sollen
Bitte eine Beispilemappe mit deinen bereits vorhandenen Makros.
Gruß Werner
Beispielmappe bitte
11.10.2017 10:01:07
Werner
Hallo Simon,
-kein Mensch weiß, was deine Makros wo machen
-somit weiß auch niemand in welchem Blatt welche Zellen auf nicht leer geprüft werden sollen
Bitte eine Beispilemappe mit deinen bereits vorhandenen Makros.
Gruß Werner
AW: Beispielmappe bitte
11.10.2017 10:41:55
Simon
Hallo!
Dadurch das meine Excel-Liste SEHR unübersichtlich ist wollte ich eine Beispieldatei meiden.
Ich habe sie jetzt trotzdem hochgeladen und hoffe ihr könnt etwas damit anfangen
Datei:
https://www.herber.de/bbs/user/116869.xlsm
Nun kurze Erklärung:
Für euch sind nur die Tabellen : "Übersicht" und "Termineingabe" wichtig!
Wenn Ihr bei "Termineingabe" Daten einträgt und auf den Button "Eintragen" klickt werden diese Daten von "Termineingabe" in das Blatt "Übersicht" in die jeweilige Spalte richtig formatiert eingetragen.
Nun will ich es wenn man Daten einträgt und es ist bereits etwas in der Spalte eingetragen das eine Fehlermeldung kommt mit "Tabelle bereits befüllt" und der Wert soll nicht überschrieben werden.
Die Makros dafür findet ihr unter - Visual Basic - Module - Modul2
Gruß
Simon
Anzeige
AW: Beispielmappe bitte
11.10.2017 15:16:45
Werner
Hallo Simon,
im Kopf von Modul 2 habe ich eine globale Variable eingefügt
Sub Termin_Vormittag_Raum1_Eintragen()
Änderungen habe ich an folgenden Prozeduren vorgenommen:
1. Sub Termin_Vormittag_Raum1()
2. Sub Termin_Vormittag_Raum1_Eintragen()
Anhand der Uhrzeit, die in Termineingabe Zelle H17 gemacht wird, wird die Spalte festgelegt, in die eingetragen wird. Ab 12:00 Uhr wird in Spalte 4 eingetragen, davor in Spalte 3.
Ist an diesem Termin bereits eine Eintragung vorhanden, dann wird abgebrochen, eine Meldung ausgegeben und die Daten in deiner Eingabemaske werden nicht gelöscht (für eventuelle Änderungen).
Dein CheckBox1_Click Ereignis im Blatt Termineingabe habe ich auskommentiert. Die Abfrage der CheckBox ist direkt in der Prozedur Sub Termin_Vormittag_Raum1() drin.
Wenn es so passt, dann müsstest du den Code für die übrigen Räume noch entsprechend anpassen.
Durch die ganzen Verzweigungen mit Call, steigt man (zumindest ich) kaum durch den Code durch. Ist für mich sehr unübersichtlich und kaum nachvollziehbar.
https://www.herber.de/bbs/user/116875.xlsm
Gruß Werner
Anzeige
AW: Beispielmappe bitte
12.10.2017 07:29:31
Simon
Danke für die schnelle Antwort.
Im Prinzip ist deine Datei perfekt! Jedoch benötigen wir nicht den Raum Nachmittag daher kannst du vllt aus dem Code entfernen das er nach Uhrzeit automatisch in die jeweilige Tabelle einträgt? Wäre echt super!!!
Vielen Dank!
Gruß
Simon
AW: Beispielmappe bitte
12.10.2017 17:40:24
Werner
Hallo Simon,
dann mußt du nur dein Spalte = 3 wieder rein nehmen und den kompletten If-Teil
If WS2.Range("H17") >= 0.5 Then
Spalte = 4
Else
Spalte = 3
End If
wieder raus nehmen. Bin mir jetzt aber nicht mehr sicher, wie ich den genau drin hatte (hab derzeit keinen Zugriff auf die Datei), wirst du aber sicher finden.
Gruß Werner
Anzeige
AW: VBA wenn Wert eingetragen dann Message + Abbruch
11.10.2017 10:07:24
Armin
Hallo Simon,
ich würde das aber anders angehen und die Prüfung im "Termin eintragen" vornehmen. D.h. Du müsstest diese oder am besten das ganze Sheet hochladen.
Gruß Armin
AW: VBA wenn Wert eingetragen dann Message + Abbruch
11.10.2017 11:25:47
Simon
Das wäre auch eine gute Lösung.
Habe die Datei bereits hochgeladen hier nochmals der Link:
https://www.herber.de/bbs/user/116869.xlsm
AW: VBA wenn Wert eingetragen dann Message + Abbruch
11.10.2017 18:41:55
Armin
Hallo Simon,
zunächst etwas Grundsätzliches: Du hast viel zu viel redundanten Code.
Das lässt sich alles stark vereinfachen. Dabei erhöhst Du die Übersichtlichkeit.
Man braucht als Außenstehender viel Zeit um durch diesen Wust durchzusteigen.
Also sorry ich wollte Dir nicht wehtun aber vielleicht wird es noch besser.
Die Eingabeart ist für mich (!) nicht akzeptabel. Obwohl die UserForm die ich verwand habe, auch einen Nachteil bringt. Die Datumspalte muss ein anderes Format bekommen! (NUR noch 12.01.2017 und NICHT Do.,12.01.2017 !!!)
Ansonsten wird das Datum nicht gefunden!
Wie bereits erwähnt habe ich ein Userform erstellt, dass die Funktionen soweit ich sie in der Kürze der zur Verfügung stehen Zeit (bei mir) erkennen konnte übernimmt.
Die Sub Termin_Nachmittag_Raum1 usw. brauchst Du nicht mehr. Wahrscheinlich sind davon noch x andere überflüssig bzw. lassen sich zusammenlegen. Aber leider hatte ich heute nicht mehr Zeit übrig.
https://www.herber.de/bbs/user/116884.xlsm
Den überflüssigen Code kannst Du bitte selbst entfernen.
Grüße Armin
Anzeige

377 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige