Ich habe drei Felder in den Zellen A1, A2 und A3 in Excel. Alle drei Felder sind zunächst entsperrt.
Wenn der Benutzer zuerst einen Wert in A3 eingibt, sollten A1 und A2 deaktiviert oder gesperrt werden.
Wenn der Benutzer einen Wert in A1 eingibt, sollte A2 obligatorisch sein, aber A3 wird gesperrt oder deaktiviert.
Mit anderen Worten, der Benutzer muss A1 und A2 ausfüllen, aber nicht A3, oder der Benutzer sollte A3 ausfüllen, aber nicht A1 und A2. Kann dies in Excel durch die Verwendung von IF und else erreicht werden?
Antwort1
Folge diesen Schritten:
Methode 1:
- Wählen Sie Zellen aus
A1:A2
, oder denen Sie nur die Bearbeitung erlauben. - RechtsklickKlicken Sie dann im Popup-Menü aufZellen formatieren.
- AusDialogfeld „Zellen formatieren“, SchlagRegisterkarte „Schutz“
- Deaktivieren Sie das Kontrollkästchen Gesperrt, & Enden mitOK.
- KlickenRegisterkarte „Überprüfen“DannSchutzblatt.
- Geben Sie den Passcode in dasDialogfeld „Blatt schützen“und trafOK.
AchtungZuerstA3
Schutz aufhebenBlatt und wiederholen Sie die oben gezeigten Schritte.
Methode 2:
Sub LockCells()
Dim mainworkBook As Workbook
Set mainworkBook = ActiveWorkbook
mainworkBook.Sheets("Sheet1").Range("A1:A2").Value = "Lock"
mainworkBook.Sheets("Sheet1").Range("A1:A2").Locked = True
mainworkBook.Sheets("Sheet1").Range("A3").Locked = False
ActiveSheet.Protect
End Sub
Sub Unlockcells()
Dim mainworkBook As Workbook
Set mainworkBook = ActiveWorkbook
mainworkBook.Sheets("Sheet11").Range("A3").Value = "Free"
mainworkBook.Sheets("Sheet11").Range("A1:A2").Locked = False
mainworkBook.Sheets("Sheet11").Range("A3").Locked = True
ActiveSheet.Protect
End Sub
Achtung
- Drücken SieAlt+F11um den VB-Editor zu öffnen, dannKopieren Einfügendiese Codes als Standardmodul.
- Schutz aufhebendas Blatt, bevor Sie eines der Makros ausführen.
Änderungen sind nun nur noch an den nicht gesperrten Zellen möglich.