Wie kann man das Speichern verhindern, wenn eine bestimmte Zelle in Excel leer ist?
Stellen Sie sich vor, Sie haben ein Formular in Excel erstellt und es mit Ihren Kollegen geteilt. Sie möchten, dass sie ihre Namen in einer bestimmten Zelle eingeben, um zu identifizieren, wer die Informationen eingegeben hat. Wenn die Zelle leer bleibt, möchten Sie verhindern, dass das Formular gespeichert wird. In diesem Tutorial zeige ich Ihnen, wie Sie ein VBA-Makro verwenden können, um den Speichervorgang zu blockieren, wenn die festgelegte Zelle in Excel leer ist.
Speichern verhindern, wenn eine bestimmte Zelle in Excel leer ist
Um das Speichern der aktuellen Arbeitsmappe zu verhindern, wenn eine bestimmte Zelle in Excel leer ist, können Sie das folgende VBA-Makro ganz einfach anwenden.
Schritt 1: Öffnen Sie das Microsoft Visual Basic for Applications-Fenster, indem Sie gleichzeitig die Tasten Alt + F11 drücken.
Schritt 2: Erweitern Sie im Projekt-Explorer den Eintrag VBAProject (Ihr Arbeitsmappenname.xlsm) und Microsoft Excel Objekte, und doppelklicken Sie dann auf DieseArbeitsmappe. Siehe Screenshot:
Schritt 3: Fügen Sie im geöffneten Fenster DieseArbeitsmappe das folgende VBA-Makro ein:
VBA-Makro: Speichern verhindern, wenn eine bestimmte Zelle leer ist
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Update by ExtendOffice 20220907
Dim xFileName As String
Dim xStr As String
Dim xStrWSH As String
Dim xWSh As Worksheet
Dim xWShs As Sheets
Dim xWSh1 As Worksheet
Dim xWB As Workbook
xStrWSH = "xHidWSH_LJY"
On Error Resume Next
Set xWB = Application.ActiveWorkbook
Set xWShs = xWB.Worksheets
Set xWSh = xWShs.Item(xStrWSH)
If xWSh Is Nothing Then
Set xWSh1 = xWShs.Add
xWSh1.Name = xStrWSH
xWSh1.Visible = xlSheetVeryHidden
Cancel = False
Else
If Trim(Application.Sheets("Sheet1").Range("A1").Value) = "" Then
Cancel = True
MsgBox "Save cancelled"
End If
End If
End Sub
Hinweis: 1. In der 26. Zeile des obigen VBA-Codes ist die "Tabelle1" der spezifische Arbeitsblattname und das "A1" ist die spezifische Zelle, und Sie können sie nach Bedarf ändern.
2. Nachdem Sie das VBA in DieseArbeitsmappeeingegeben haben, sollten Sie die Arbeitsmappe zuerst speichern. Danach können Sie die makrofähige Datei an andere senden.
Wenn nun die spezifische Zelle in der aktuellen Arbeitsmappe leer ist und Sie versuchen, sie zu speichern, erscheint ein Warnungsdialogfeld und teilt Ihnen mit "Speichern abgebrochen". Siehe folgenden Screenshot:
Verwandte Artikel
Wie überprüft oder findet man, ob eine Zelle eine bestimmte Zeichenfolge/Text/Wort in Excel enthält?
Wie kopiert man Zeilen, wenn eine Spalte einen bestimmten Text/Wert in Excel enthält?
Wie kopiert man Zellen, wenn eine Spalte einen bestimmten Wert/Text in Excel enthält?
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!