Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1796to1800
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

Datei speichern , inaktive schließen

Datei speichern , inaktive schließen
29.11.2020 10:12:56
Ulrich
Hallo zusammen,
ich habe folgendes Problem.
Ich habe eine Datei "Protokoll.xlsm"
wenn ich dort das Makro "Speichern" aufrufe, wird die Datei unter einem aus zwei Feldern (H1 + M1) zusammengesetzten Dateinamen gespeichert, die gespeicherte Datei wir geschlossen und die Datei "Protokoll" wird wieder geöffnet.

Das Speichern ist nur möglich wenn 4 Pflichtfelder ausgefüllt sind.
Das funktioniert alles problemlos.
Wenn ein Pflichtfeld mal nicht gefüllt ist kommt die MsgBox ( Bitte Pflichtfelder ausfüllen), auch das ist ok. nur wenn ich die box dann schließe, dann schließ die ganze Datei !
Das ist nicht gewünscht, ich wüsste ja jetzt das fehlende Pflichtfeld ausfüllen.
Kann mir einer helfen wie ich das Makro entsprechend anpassen kann.
Gruß Ulli
https://www.herber.de/bbs/user/141919.xlsm

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei speichern , inaktive schließen
29.11.2020 10:42:33
ralf_b
Moin Ulli,
dann benötigst du eine Schleife um die Prüfung der Felder. solange Prüfen bis alle gefüllt.
funktioniert das mit dem Foto eigentlich. Bei mir geht zwar die Kameralampe an aber Fotos gibts keine.
gruß
RB
AW: Datei speichern , inaktive schließen
29.11.2020 11:22:25
Ulrich
Hallo Ralf,
ja bei mir klappt das mit der Kamera.
Die Kamera öffnet und ich kann dann das Foto auslösen und in der Datei abspeichern.
Gruß Ulli
AW: Datei speichern , inaktive schließen
29.11.2020 10:49:13
Nepumuk
Hallo Ulli,
so?
Option Explicit

Public gblnCancel As Boolean

Sub Speichern()
    '
    ' Speichern Makro
    '
    gblnCancel = False
    
    ThisWorkbook.SaveAs Range("M1").Value & Range("H1").Value & ".xls", FileFormat:=xlExcel8
    
    If Not gblnCancel Then
        
        Workbooks.Open ThisWorkbook.Path & "\Protokoll.xlsm"
        
        Dim WB As Workbook
        For Each WB In Workbooks
            If WB.Name <> ThisWorkbook.Name And _
                WB.Name <> "Protokoll.xlsm" Then
                WB.Close SaveChanges:=True
            End If
        Next WB
        ThisWorkbook.Close SaveChanges:=True
        
    End If
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim rngPflicht As Range, rngBereich As Range
    Dim intLeere As Integer
    Set rngPflicht = [H1,B9,B13,Bewertung]
    For Each rngBereich In rngPflicht.Areas
        intLeere = intLeere + Application.WorksheetFunction.CountBlank(rngBereich)
    Next
    If intLeere > 0 Then
        Cancel = True
        gblnCancel = True
        MsgBox "Bitte zuerst alle Pflicht-Felder (Blau) ausfüllen !"
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Datei speichern , inaktive schließen
29.11.2020 11:08:22
Ulrich
Hallo Nepumuk,
folgender Fehler kommt:
Userbild
Gruß Ulli
AW: Datei speichern , inaktive schließen
29.11.2020 11:12:21
Nepumuk
Hallo Ulli,
dann so:
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("M1").Value & _
    Range("H1").Value & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

Gruß
Nepumuk
Anzeige
AW: Datei speichern , inaktive schließen
29.11.2020 11:20:18
Ulrich
Hallo Nepumuk,
SUPI !!!
Besten Dank!
Gruß Ulli
AW: Datei speichern , inaktive schließen
29.11.2020 12:28:25
Ulrich
Hallo Nepumuk,
ich habe noch eine kleine Frage.
Ich kann in dem Protokoll ja Fotos über ein Makro einbringen. Button Foto
Wenn ich in dem Protokoll Zellen sperre, klappt das mit dem Foto einfügen nicht mehr.
Kann man das umgehen ohne die Sperrung rauszunehmen?
Gruß Ulli
https://www.herber.de/bbs/user/141923.xlsm
AW: Datei speichern , inaktive schließen
29.11.2020 12:37:18
Nepumuk
Hallo Ulli,
in das Modul "DieseArbeitsmappe":
Private Sub Workbook_Open()
    Call Tabelle1.Protect(Password:="GEHEIM", UserInterfaceOnly:=True)
End Sub

Kennwort anpassen !
Gruß
Nepumuk
Anzeige
AW: Datei speichern , inaktive schließen
29.11.2020 13:10:21
Ulrich
Hallo Nepumuk.
Genial. Herzlichen Dank
Gruß Ulli
AW: Datei speichern , inaktive schließen
29.11.2020 10:56:12
volti
Hallo Ulli,
die Abfrage der Pflichtfelder passiert in der Event-Sub Workbook_BeforeSave.
Diese wird wiederum durch Dein Speichern-Sub aufgerufen. Nach Rückkehr aus dem Aufruf hat die Sub-Speichern allerdings wieder vergessen, dass nicht alle Felder ausgefüllt wurden; das Makro rauscht durch und schließt die Mappe.
Um bei Deinem Konzept zu bleiben, schlage ich vor, einfach im Speichern-Sub nochmals die Alle-Felder-ausgefüllt-Abfrage durchzuführen. Die MsgBox kann man sparen, die kam ja schon...
Code:
[Cc][+][-]

Sub Speichern() ' ' Speichern Makro ' Dim rngPflicht As Range, rngBereich As Range Dim intLeere As Integer, WB As Workbook ActiveWorkbook.SaveAs Range("M1").Value & Range("H1").Value & ".xls" 'Pflichtfelder abfragen Set rngPflicht = [H1,B9,B13,Bewertung] For Each rngBereich In rngPflicht.Areas intLeere = intLeere + Application.WorksheetFunction.CountBlank(rngBereich) Next If intLeere > 0 Then Exit Sub ChDrive Left(ThisWorkbook.Path, 2) ChDir ThisWorkbook.Path Workbooks.Open "Protokoll.xlsm" For Each WB In Workbooks If WB.Name <> ThisWorkbook.Name And _ WB.Name <> "Protokoll.xlsm" Then WB.Close SaveChanges:=True End If Next WB ThisWorkbook.Close SaveChanges:=True End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Datei speichern , inaktive schließen
29.11.2020 11:10:38
Ulrich
Hallo Karl Heinz,
nach Eingabe von diesem Code ist die Datei abgebrochen und ich konnte sie nicht wieder öffnen:
Sehr komisch.
Gruß Ulli
AW: Datei speichern , inaktive schließen
29.11.2020 11:24:27
volti
Hallo Ulli,
war das nicht Sinn der Übung, die Verarbeitung abzubrechen, da nicht alle Felder ausgefüllt waren?
Und die Datei müsste ja noch offen sein, da sie nicht geschlossen wurde. Da kann man sie nicht nochmal öffnen.
Ansonsten den Part If intLeere > 0 Then Exit Sub wegnehmen und
einfach mal ans Ende setzen:
If intLeere = 0 Then ThisWorkbook.Close SaveChanges:=True
Gruß KH
Anzeige
AW: Datei speichern , inaktive schließen
29.11.2020 11:42:25
Ulrich
Hallo Karl Heinz,
ich werde das so mal testen.
Danke für deine Unterstützung.
Gruß Ulli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige