Wie kann das Speichern verhindert werden, wenn eine bestimmte Zelle in Excel leer ist?
Sie haben beispielsweise ein Formular im Arbeitsblatt entworfen und mit Ihren Kollegen geteilt. Sie hoffen, dass Ihre Kollegen ihre Namen in die entsprechende Zelle eintragen, um anzugeben, wer dieses Formular eingegeben hat. Andernfalls können sie das Formular nicht speichern. Wie können Sie das tun? Hier werde ich ein VBA-Makro einführen, um das Speichern einer Arbeitsmappe zu verhindern, wenn die bestimmte Zelle in Excel leer ist.
Verhindern Sie das Speichern, wenn eine bestimmte Zelle in Excel leer ist
Um zu verhindern, dass die aktuelle Arbeitsmappe gespeichert wird, wenn die bestimmte Zelle in Excel leer ist, können Sie das folgende VBA-Makro einfach anwenden.
Schritt 1: Öffnen Sie das Fenster Microsoft Visual Basic für Applikationen, indem Sie auf drücken Andere + F11 Schlüssel in der Zwischenzeit.
Schritt 2: Erweitern Sie im Projektexplorer die VBAProject (Ihr Arbeitsmappenname.xlsm) und Microsoft Excel-Objekteund doppelklicken Sie dann auf DiesesWorkbook. Siehe Screenshot links:
Schritt 3: Fügen Sie im sich öffnenden ThisWorkbook-Fenster das folgende VBA-Makro ein:
VBA-Makro: Verhindern Sie das Speichern, 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 wird die "Blatt1" ist der spezifische Arbeitsblattname und das "A1"ist die spezifische Zelle, und Sie können sie nach Bedarf ändern.
2. Nachdem Sie die VBA eingegeben haben DiesesWorkbook, sollten Sie die Arbeitsmappe zuerst speichern. Und dann können Sie die makrofähige Datei an andere senden.
Wenn die bestimmte Zelle in der aktuellen Arbeitsmappe leer ist, wird beim Speichern ein Warndialogfeld angezeigt, in dem Sie aufgefordert werden, "Speichern abgebrochen". Siehe folgenden Screenshot:
Ähnliche Artikel
Wie kopiere ich Zeilen, wenn die Spalte einen bestimmten Text / Wert in Excel enthält?
Wie kopiere ich Zellen, wenn die Spalte einen bestimmten Wert / Text in Excel enthält?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!