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

Zelle überprüfen und speichern verhindern WENN

Zelle überprüfen und speichern verhindern WENN
11.12.2017 05:15:36
Hans
Hallo Forum,
ich habe diesen Code im Internet gefunden,
Private Sub Worksheet_Calculate()
If Range("M5") = "" Then MsgBox "Keine Kundennummer angegeben!"
End Sub
und versucht für meine Zwecke umzubauen.
Ich möchte gerne vor dem Speichern und Drucken eine Überprüfung der Zelle M5 erreichen und wenn hier keine Kundennummer eingegeben wurde soll ein Speichern und Drucken natürlich nicht möglich sein.
Nun hab ich alles versucht, irgendwie das Makro in meines einzubauen, es will mir einfach nicht gelingen. Da PrivateSubWorksheet_Calculate() schon in einem anderen Makro vorhanden ist war ich dann wenigstens so schlau vor den () eine 1 zu setzen.
Was muss ich ändern und wo muss was hin?
Hans
Mein Makro:
Sub speichern_und_drucken()
'
' speichern_und_drucken Makro
' Speichert die Datei und druckt die Rechnung 2x aus
'
' Tastenkombination: Strg+d
Dim strFilename As String
ChDir "C:\Recycling\Rechnungen\"
ChDir "C:\Recycling\Rechnungen"
ActiveWorkbook.SaveAs Filename:= _
"C:\Recycling\Rechnungen\" & Range("C85") & ".xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'
Sheets("Rechnung").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=2
Sheets("Eingabe").Select
Range("M5").Select
End Sub

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle überprüfen und speichern verhindern WENN
11.12.2017 05:47:12
Hajo_Zi
es soll ja keine bestimmte Tabelle geprüft werden.
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf DieseArbeitsmappe, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt in der gesamten Datei.
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Range("M5") = "" Then
MsgBox "Keine Kundennummer angegeben!"
Cancel = True
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Range("M5") = "" Then
MsgBox "Keine Kundennummer angegeben!"
Cancel = True
End If
End Sub


Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
@Hajo
11.12.2017 11:43:35
Hans
Hallo Hajo,
das Makro läuft prima! Vielen Dank!
Kann man damit auch noch andere Zellen überprüfen?
Neben M5 (Kundennummer) sollte eventuell auch AH5 (Kennzeichen) und BH5 überprüft werden.
Das sind die wichtigsten Zellen, ohne die eine Zuordnung nur schwer möglich ist
Vielen Dank
Hans
weitere Zellen
11.12.2017 16:52:00
Hajo_Zi
If Range("M5") = "" or Range("AH5") = "" Then
Gruß Hajo
AW: Zelle überprüfen und speichern verhindern WENN
11.12.2017 12:40:26
Bernd
Hi,
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Range("M5").Value = "" Or ActiveSheet.Range("AH5").Value = "" _
Or ActiveSheet.Range("BH5").Value = "" Then
MsgBox "      Eingabe wurde vergessen!" _
& vbCr & "" _
& vbCr & "           Zellen M5, BH5, AH5 prüfen." _
& vbCr & "" _
& vbCr & "   Es kann aktuell nicht gespeichert werden."
Cancel = True
End If
End Sub


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ActiveSheet.Range("M5").Value = "" Or ActiveSheet.Range("AH5").Value = "" _
Or ActiveSheet.Range("BH5").Value = "" Then
MsgBox "      Eingabe wurde vergessen!" _
& vbCr & "" _
& vbCr & "           Zellen M5, BH5, AH5 prüfen." _
& vbCr & "" _
& vbCr & "   Es kann aktuell nicht gespeichert werden."
Cancel = True
End If
End Sub
MfG Bernd
Anzeige
AW: Zelle überprüfen und speichern verhindern WENN
11.12.2017 12:42:27
Bernd
Sorry,
beim obigen Code musst Du das Wort "gespeichert" in "gedruckt" ändern.
MfG Bernd
@Bernd
11.12.2017 13:16:27
Hans
Hallo Bernd,
klappt prima, vielen Dank!
Nun muss ich die Datei noch abspeichern, OHNE dass in den Zellen was steht, denn der Anwender soll eine leere Mappe vorfinden....
Mal sehen, wie ich das mache....
Hans
Haken vergessen noch offen owT
11.12.2017 13:35:46
Hans
Noch offen weil ich nicht weiß wie ich nun die Datei speichern kann ohne dass in den Zellen was drinsteht!
Hans
Wie Datei nun speichern
11.12.2017 13:39:28
Hans
Hallo,
ich kann mich einfach an den Haken gewöhnen wenn die Frage noch nicht ganz beantwortet wurde.
Also, nun hab ich das Makro von Bernd eingefügt und es tut was es soll. Wie Speicher ich nun die Datei OHNE dass in den Zellen Werte sind ? Damit der Anwender ein leeres Blatt vorfindet !
Hans
Anzeige
AW: Wie Datei nun speichern
11.12.2017 13:43:34
Hans
was ist mit dem Haken los ?
Ende nie ? der Hans , der kanns....
11.12.2017 15:44:19
robert
@Robert - Das Ende ist in sicht...
11.12.2017 18:21:54
Hans
Hallo Robert,
Ende nie ?
Ich hab die ganze Nacht an einem Makro geschraubt, das eigentlich PDF Dateien ausliest.
Nun hab ich es hinbekommen dass meine xlsm Datei ausgelesen wird. Für jemanden der erst kurz mit VBA arbeitet eine Höchstleistung ! Oder ?
Hans
Tipp: Nutze mehr die RECHERCHE....
11.12.2017 18:34:06
robert
AW: Tipp: Nutze mehr die RECHERCHE....
11.12.2017 18:47:19
Hans
Hallo Robert,
das mache ich auch oft, GOOGLE hab ich schon im Dauereinsatz. Das Problem dabei, oft entsprechen die Tipps nicht genau dem was ich möchte. Da bin ich dann Stundenlang beschäftigt, mir was zusammen zu bauen und zu probieren wie ich das hin bekomme.
Meine Frau macht auch schon ärger, aber es macht mir einfach Spaß und ich kann mich in eine Aufgabe festbeißen bis ich die Lösung gefunden habe.
Herber.de ist für Excel einfach die beste Seite finde ich !
Die Leute sind nett, hilfsbereit und kompetent. Nirgens werden Fragen so schnell beantwortet wie hier !
Ein dickes Lob an die Antworter.
PS: Ich würde ja gerne einen VBA Kurs machen, wenn es nur nicht so teuer wäre !
Hans
Anzeige
AW: @Bernd
11.12.2017 16:37:13
UweD
Hallo
Speicher deine leere Datei einmal als Excel- Vorlage mit makro .xltm ab.
Beim "Öffnen" wird immer eine neue Kopie davon als xlsm erzeugt.
LG UweD
AW: @Bernd
11.12.2017 18:04:30
Hans
Hallo UweD,
das ist ja gerade mein Problem.
Zuerst vergesse ich immer den Haken hier zu setzen oder der fliegt immer mal wieder raus, wer weiß das schon.
Was das Makro angeht: ist ja "BeforeSave" wenn ich das also in die Mappe einfüge und dann keine Eingaben in den Zellen habe, bekomme ich die Messagebox das kein Speichern möglich ist. Also auch nicht über das Speichersymbol. Genau dass was du sagst "Speicher deine leere Datei einmal als Excel-Vorlage mit makro .xltm ab" hab ich versucht!
Das geht ja nicht! Wenn ich aber Werte eintrage, ist die Mappe aber nicht mehr leer.
Hans
Anzeige
AW: @Bernd
12.12.2017 06:36:32
Bernd
Hi,
dann lasse die besagten Zellen beim öffnen der Datei einfach löschen:
Private Sub Workbook_Open()
Sheets("Tabelle1").Range("M5, AH5, BH5").ClearContents
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Range("M5").Value = "" Or ActiveSheet.Range("AH5").Value = "" _
Or ActiveSheet.Range("BH5").Value = "" Then
MsgBox "      Eingabe wurde vergessen!" _
& vbCr & "" _
& vbCr & "           Zellen M5, BH5, AH5 prüfen." _
& vbCr & "" _
& vbCr & "   Es kann aktuell nicht gedruckt werden."
Cancel = True
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ActiveSheet.Range("M5").Value = "" Or ActiveSheet.Range("AH5").Value = "" _
Or ActiveSheet.Range("BH5").Value = "" Then
MsgBox "      Eingabe wurde vergessen!" _
& vbCr & "" _
& vbCr & "           Zellen M5, BH5, AH5 prüfen." _
& vbCr & "" _
& vbCr & "   Es kann aktuell nicht gespeichert werden."
Cancel = True
End If
End Sub
MfG Bernd
Anzeige
AW: @Bernd
12.12.2017 08:31:45
UweD
Hallo
- Setze im VB Editor mal einen Haltepunkt,
- Drücke dann in der Mappe speichern unter, Vorlage...
- Wenn dann der Haltepunkt erreicht ist, verschiebst du die gelbe Pfeil aufs Ende.
Userbild
LG UweD

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige