Ich habe ein Excel-Arbeitsblatt mit einer Tabelle, in der Spaltenüberschriften Zeitintervalle und Zeilenüberschriften die Namen der Personen sind. Jede Zelle in der Mitte hat eine Dropdown-Liste. Ich habe den folgenden Code eingegeben, damit der Benutzer mehr als eine Option aus dem Dropdown-Feld innerhalb jeder Zelle auswählen kann.Data Validation Code: Zielbereich angeben
Der Code funktioniert gut, aber das ganze Blatt wird davon beeinflusst und nicht nur der Zielbereich. Wenn ich z. B. versuche, eine Zelle in der Spaltenüberschrift zu bearbeiten, indem ich einfach die Rücktaste auf der Zelle anklicke und neuen Text eingib, formatiert sich die Zelle wie folgt: "6:30 Uhr, 7:30 Uhr" oder "alter Wert, neuer Wert "
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
' To Select Multiple Items from a Drop Down List in Excel
Dim Oldvalue As String
Dim Newvalue As String
On Error GoTo Exitsub
If Target.Range("E10:V600") Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
Target.Value = Oldvalue & ", " & Newvalue
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
ich dies durch einen Rechtsklick auf der Zelle vermeiden kann, klare Inhalte treffen, die Zelle austritt, dann wieder in der Zelle klicken, um es zu bearbeiten. Aber ich möchte dieses Problem verhindern. Irgendeine Idee, wo mein Code falsch gelaufen ist? Der Zielbereich ist der richtige Zellbereich, für den ich den Code benötige. Vielen Dank im Voraus für Ihre Hilfe
Muss ich auch die 'Private Sub Worksheet_Change ändern (ByVal Target As Range)'? – SRag
@SRag - siehe meine vollständigen Code bearbeiten –
danke für den Code. Jetzt innerhalb des angegebenen Bereichs bin ich nicht in der Lage, Inhalte zu löschen oder drücken Sie die Rücktaste, um die Zelle zu löschen. Stattdessen formatiert sich die Zelle jedesmal, wenn ich versuche, sie zu löschen, als "alter Wert,,,". Irgendwelche Arbeiten dafür? – SRag