Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro in Spalte anwenden

Forumthread: Makro in Spalte anwenden

Makro in Spalte anwenden
25.10.2023 12:57:03
Björn G
Hallo,

Ich have eine Datei mit mehreren Drop Down Menüs und möchte mit einem Makro das Einfügen oder Überschreiben der Dropdowns in verschiedenen Spalten verhindern. In den restlichen Spalten soll das Einfügen noch möglich sein.

Habe ein Makro gefunden, mit welchem ich für die ganze Datei dies unterbinden kann, bringt mich leider nur nicht weiter.

Kann mir hier jemand helfen?

Grüße Björn
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro in Spalte anwenden
25.10.2023 13:15:26
Oberschlumpf
Hi Björn,

if you can per Upload eine Bsp-Datei mit Bsp-Daten zeigen, dann könnte Hilfe für dich einfacher sein.
Zeig bitte gern auch den Code, der sich auf die ganze Datei bezieht. Ich bin sicher, der Code lässt sich anpassen.

Ciao
Thorsten
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ß
Anzeige
AW: Makro in Spalte anwenden
25.10.2023 19:05:03
Piet
Hallo

es geht noch einfacher, und ganz ohne Makro Überwachung. Mit ScrollArea im Eigenschaftsfenster der Tabelle.
Setzte alle DropDown die NICHT überschrieben werden sollen in einen Spaltenblock der NICHT mehr zugänglich ist.
Die andern Spalten, die frei bleiben sollen, notierst du als Range im ScrollArea im Eignschaftsfenster. z.B. so "B:C"
Geht auch als echter Rangebereich, z.B. als ScrollArea "B2:C100" - Der Cursor kann nur darauf zugreifen!

mfg Piet
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige