AW: Makro in Spalte anwenden
25.10.2023 17:57:22
bigmayo
Moin Björn,
Um das Einfügen oder Überschreiben von Dropdown-Listen in bestimmten Spalten zu verhindern, kannst du VBA (Visual Basic for Applications) verwenden, um entsprechende Ereignisprozeduren für diese Spalten zu erstellen. Hier ist eine grundlegende Anleitung, wie du das machen könntest:
Identifiziere die betroffenen Spalten:
Notiere dir die Spaltennummern oder die Spaltenbuchstaben, in denen das Einfügen oder Überschreiben von Dropdown-Listen verhindert werden soll.
Öffne den Visual Basic for Applications-Editor:
Drücke Alt + F11, um den VBA-Editor in Excel zu öffnen.
Wähle das betreffende Tabellenblatt:
In der Projektleiste (normalerweise links oben im VBA-Editor) findest du dein Tabellenblatt unter "VBAProject (DeineDatei.xlsx)".
Erstelle eine Worksheet_Change-Prozedur für die betroffenen Spalten:
Doppelklicke auf das Tabellenblatt, in dem du die Dropdown-Verhinderung aktivieren möchtest.
Füge den folgenden Code in das Code-Fenster ein und passe die Spaltennummern oder -buchstaben an:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim AffectedColumns As String
Dim Cell As Range
' Hier die betroffenen Spalten eintragen, z.B., Spalte A und B
AffectedColumns = "A:B"
' Prüfen, ob die geänderte Zelle in den betroffenen Spalten liegt
If Not Intersect(Target, Columns(AffectedColumns)) Is Nothing Then
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Dieser Code überwacht die Änderungen in den festgelegten Spalten (hier "A:B"). Wenn eine Änderung in diesen Spalten festgestellt wird, wird der Inhalt der geänderten Zelle gelöscht, und das Einfügen oder Überschreiben der Dropdown-Listen wird somit verhindert.
Speichern und schließen:
Speichere das Excel-Dokument und schließe den VBA-Editor.
Jetzt sollten Dropdown-Listen in den festgelegten Spalten nicht mehr eingefügt oder überschrieben werden können, während sie in den übrigen Spalten weiterhin verfügbar sind. Denke daran, die Spalten in der Variablen AffectedColumns gemäß deinen Anforderungen anzupassen.
Gruß