Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

DropDown Mehrfachauswahl
#1
Hi Zusammen,

hab ein Excel wo ich Per Drobdown mehrere Werte hintereinander in eine Zelle schreiben kann , das ist der Code:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'** Mehrfachauswahl über DropDown-Liste (Gültigkeitsprüfung)
'** Einfügen im Code-Container des betreffenden Arbeitsblattes

'** Dimensionierung der Variablen
Dim rngDV As Range
Dim wert_old As String
Dim wertnew As String

'** Errorhandling
On Error GoTo Errorhandling

'** Mehrfachauswahl im definierten Bereich (Bsp. B4:B14) durchführen
If Not Application.Intersect(Target, Range("D3:D204")) Is Nothing Then

 '**Range definieren
 Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)
 If rngDV Is Nothing Then GoTo Errorhandling
 
 '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen
 If Not Application.Intersect(Target, rngDV) Is Nothing Then
   Application.EnableEvents = False
   wertnew = Target.Value
   Application.Undo
   wertold = Target.Value
   Target.Value = wertnew
   If wertold <> "" Then
     If wertnew <> "" Then
       Target.Value = wertold & "/ " & wertnew
     End If
   End If
 End If

End If

Errorhandling:
Application.EnableEvents = True
End Sub

wie kann ich hier eine " abwahl " generieren, am liebsten wäre mir wenn ich den gleich wert nochmals auswähle das er dann gelöscht wird
Antworten Top
#2
Hallo,

ungetestet:

 '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen
If Not Application.Intersect(Target, rngDV) Is Nothing Then
  Application.EnableEvents = False
  wertnew = Target.Value
  Application.Undo
  wertold = Target.Value
  Target.Value = wertnew
  If wertold <> "" Then
    If wertnew <> "" Then
       If Right(wertold, Len(wertnew)) = wertnew Then
         Target.Value = Left(wertold, Len(wertold) - Len(wertnew) - 2)
       Else
         Target.Value = wertold & "/ " & wertnew
       End If
    End If
  End If
End If

Code eingefügt mit: Excel Code Jeanie

Es wird aber nur auf den letzten Eintrag geprüft.

Gruß Uwe
Antworten Top
#3
Hi,

Compile Error:

Block If Without End If.

Gruß
Antworten Top
#4
Hi,

Private Sub Worksheet_Change(ByVal Target As Range)
'** Mehrfachauswahl über DropDown-Liste (Gültigkeitsprüfung)
'** Einfügen im Code-Container des betreffenden Arbeitsblattes

'** Dimensionierung der Variablen
Dim rngDV As Range
Dim wert_old As String
Dim wertnew As String

'** Errorhandling
On Error GoTo Errorhandling

'** Mehrfachauswahl im definierten Bereich (Bsp. B4:B14) durchführen
If Not Application.Intersect(Target, Range("D3:D204")) Is Nothing Then

 '**Range definieren
 Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)
 If rngDV Is Nothing Then GoTo Errorhandling
 
 '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen
 If Not Application.Intersect(Target, rngDV) Is Nothing Then
   Application.EnableEvents = False
   wertnew = Target.Value
   Application.Undo
   wert_old = Target.Value
   Target.Value = wertnew
   If wert_old <> "" Then
     If wertnew <> "" Then
       If Right(wert_old, Len(wertnew)) = wertnew Then
         Target.Value = Left(wert_old, Len(wert_old) - Len(wertnew) - 2)
       Else
         Target.Value = wert_old & "/ " & wertnew
       End If
     End If
   End If
 End If

End If

Errorhandling:
Application.EnableEvents = True
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Uwe
Antworten Top
#5
Danke ::)Funktioniert 1 a :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste