Hoe voorkom je opslaan als een specifieke cel leeg is in Excel?
Stel je voor dat je een formulier hebt gemaakt in Excel en dit hebt gedeeld met je collega's. Je wilt dat ze hun namen invullen in een specifieke cel om te identificeren wie de informatie heeft ingevoerd. Als de cel leeg blijft, wil je voorkomen dat het formulier wordt opgeslagen. In deze tutorial laat ik je zien hoe je een VBA-macro kunt gebruiken om het opslaan te blokkeren als de aangewezen cel leeg is in Excel.
Voorkom opslaan als een specifieke cel leeg is in Excel
Om te voorkomen dat het huidige werkboek wordt opgeslagen als een specifieke cel leeg is in Excel, kun je eenvoudig de volgende VBA-macro toepassen.
Stap 1: Open het Microsoft Visual Basic for Applications-venster door tegelijkertijd op Alt + F11 te drukken.
Stap 2: Breid in de Projectverkenner VBAProject (Uw werkboeknaam.xlsm) en Microsoft Excel-objecten uit, en dubbelklik vervolgens op ThisWorkbook. Zie screenshot:
Stap 3: Plak de volgende VBA-macro in het geopende ThisWorkbook-venster:
VBA Macro: Voorkom opslaan als een specifieke cel leeg is
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
Opmerking: 1. In regel 26 van de bovenstaande VBA-code is de "Sheet1" de specifieke werkbladnaam, en de "A1" is de specifieke cel, en je kunt ze naar wens wijzigen.
2. Nadat je de VBA hebt ingevoerd in ThisWorkbook, moet je het werkboek eerst opslaan. Daarna kun je het macro-ondersteunde bestand naar anderen sturen.
Als de specifieke cel leeg is in het huidige werkboek, verschijnt er bij het opslaan een waarschuwingsdialoogvenster dat je vertelt "Opslaan geannuleerd". Zie de volgende screenshot:
Gerelateerde artikelen
Hoe controleer of zoek je of een cel een specifieke string/tekst/woord bevat in Excel?
Hoe kopieer je rijen als een kolom een specifieke tekst/waarde bevat in Excel?
Hoe kopieer je cellen als een kolom een specifieke waarde/tekst bevat in Excel?
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!