Hoe kan ik voorkomen dat een bepaalde cel leeg is in Excel?
U hebt bijvoorbeeld een formulier in een werkblad ontworpen en met uw collega's gedeeld. U hoopt dat uw collega's hun naam invullen in de specifieke cel om aan te geven wie dit formulier heeft ingevuld, anders voorkomen dat ze het formulier opslaan, hoe zou u dat kunnen doen? Hier zal ik een VBA-macro introduceren om te voorkomen dat een werkmap wordt opgeslagen als de specifieke cel leeg is in Excel.
Voorkom opslaan als een specifieke cel leeg is in Excel
Om te voorkomen dat de huidige werkmap wordt opgeslagen als de specifieke cel leeg is in Excel, kunt u de volgende VBA-macro eenvoudig toepassen.
Stap 1: Open het Microsoft Visual Basic for Applications-venster door op de anders + F11 sleutels in de tussentijd.
Stap 2: Vouw in de Projectverkenner het VBAProject (uw werkmapnaam.xlsm) en Microsoft Excel-objecten, en dubbelklik vervolgens op het Dit Werkboek. Zie screenshot links:
Stap 3: Plak in het openingsvenster ThisWorkbook de volgende VBA-macro:
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 de 26e rij van de bovenstaande VBA-code, de "Blad1" is de specifieke werkbladnaam en de "A1"is de specifieke cel en u kunt deze naar behoefte wijzigen.
2. Nadat u de VBA hebt ingevoerd in Dit Werkboek, moet u eerst de werkmap opslaan. En dan kunt u het bestand met macro's naar anderen verzenden.
Als de specifieke cel nu leeg is in de huidige werkmap en u deze opslaat, verschijnt er een waarschuwingsvenster met de melding "Opslaan geannuleerd". Zie de volgende schermafbeelding:
Gerelateerde artikelen
Hoe te controleren of te zoeken of een cel een specifieke tekenreeks / tekst / woord bevat in Excel?
Hoe kopieer ik rijen als de kolom specifieke tekst / waarde bevat in Excel?
Hoe cellen te kopiëren als kolom een specifieke waarde / tekst in Excel bevat?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!