Office: (Office 365) Problem im Code für Mehrfachauswahl in Dropdownliste

Helfe beim Thema Problem im Code für Mehrfachauswahl in Dropdownliste in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo beisammen, ich soll für meinen Stiefvater eine Tabelle über seine Bestandskunden und deren Produkte erstellen und bin dabei nun auf folgendes... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von JustMine, 24. Juli 2023.

  1. JustMine Neuer User

    Problem im Code für Mehrfachauswahl in Dropdownliste


    Hallo beisammen,

    ich soll für meinen Stiefvater eine Tabelle über seine Bestandskunden und deren Produkte erstellen und bin dabei nun auf folgendes Problem gestoßen:
    Ich brauche in mehreren Spalten eine Mehrfachauswahl wo die Grunddaten über Dropdown Listen eingespielt werden.
    Dies habe ich nach einigem hin und her und googeln und videos schauen nun soweit geschafft und zwar mit folgendem VBA 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 wertold As String
    Dim wertnew As String

    '** Errorhandling
    On Error GoTo ErrorHandler

    '** Mehrfachauswahl im definierten Bereich durchführen
    If Not Application.Intersect(Target, Range("E2:I600")) Is Nothing Then

    '**Range definieren
    Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)
    If rngDV Is Nothing Then GoTo ErrorHandler

    '** 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
    Application.EnableEvents = True
    Exit Sub

    '** Errorhandling
    ErrorHandler:
    Application.EnableEvents = True
    Exit Sub

    End If
    End Sub

    Dies erfüllt zwar seinen Zweck aber nur wenn man die Zelle durch Mausklick auf eine andere Zelle verlässt. Immer wenn man die aktuelle Zelle mit Enter verlassen will kommen Fehlermeldungen auf und der Code vervielfacht das bereits ausgewählte um ein vielfaches. Wenn man wieder in die Zelle geht und alles entfernt und dann enter drückt gibt es keine Probleme und ich kann wieder die Mehrfachauswahl benutzen und es gibt - sofern ich nun mit Mausklick die Zelle verlasse - auch keine Probleme mehr.
    Habt ihr Ideen wie ich dieses Problem berichtigen kann, sodass der Benutzer wieder mit Enter die Zelle verlassen und somit zur nächsten springen kann?
    Ich habe nur sehr wenig Erfahrung im Coding und komme selber nicht auf den Fehler im Code und würde mich über Hilfe freuen.
     
    JustMine, 24. Juli 2023
    #1
  2. ralf_b hat Ahnung
    es fehlt eine Prüfung ob der einzutragende Wert schon vorhanden ist. es wird nur geprüft ob alt und neu nicht leer sind.
    ergänze verscuhsweise den Teil
    Code:
    If wertnew <> "" Then
            If InStr(1, wertold, wertnew) > 0 Then 'doppelte vermeiden
             Target.Value = wertold
            Else
             Target.Value = wertold & ", " & wertnew
            End If
          End If
     
    ralf_b, 24. Juli 2023
    #2
    1 Person gefällt das.
  3. Hajo_Zi
    Hajo_Zi Erfahrener User
    Warum so umfangreich?

    Code:
    Modul
    Option Explicit
    
    Public StTarget As String
    
    Diese Arbeitsmappe
    Option Explicit
    
    Private Sub Workbook_Open()
        If ActiveSheet.Name = "Tabelle1" And Target.Column = 8 Then
            StTarget = Target
        End If
    End Sub
    
    Tabelle
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Column = 8 Then
            Application.EnableEvents = False
            Target = StTarget & " " & Target
            Application.EnableEvents = True
            StTarget = Target
        End If
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Column = 8 Then
            StTarget = Target
        End If
    End Sub
    
    wie in Deinem Beispiel muss die Eingabe mit Enter abgeschlossen werden.

    Problem im Code für Mehrfachauswahl in Dropdownliste GrußformelProblem im Code für Mehrfachauswahl in Dropdownliste Homepage
     
    Hajo_Zi, 24. Juli 2023
    #3
    1 Person gefällt das.
Thema:

Problem im Code für Mehrfachauswahl in Dropdownliste

Die Seite wird geladen...
  1. Problem im Code für Mehrfachauswahl in Dropdownliste - Similar Threads - Problem Code Mehrfachauswahl

  2. Problem mit COUNTIFS

    in Microsoft Excel Hilfe
    Problem mit COUNTIFS: Hallo allerseits Ich habe in Spalte B den Monat (bspw. "August"), in Spalte D immer zwei Verkehrsmittel mit / getrennt (bspw. "Auto / Zug" oder bspw. "Zug / Zug"...). In Spalte J soll gezählt...
  3. RGP-Problem: #WERT!

    in Microsoft Excel Hilfe
    RGP-Problem: #WERT!: Guten Tag allerseits, Habe ein paar Daten, für die ich einen quadratischen Trend berechnen möchte. Die RGP-Funktion liefert nur den Fehler #WERT!. Wenn ich hingegen für die gleichen Daten in einem...
  4. Problem mit Private Sub Worksheet_Change

    in Microsoft Excel Hilfe
    Problem mit Private Sub Worksheet_Change: Hallo, ich komme nicht weiter mit meiner Worksheet_Change. Ich muss sagen, ich bin kein VB Profi - eher Laie mit Grundverständnis in Coding. Was möchte ich (Erwartung): 1. Wenn eine gewisse Zelle...
  5. Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben

    in Microsoft Excel Hilfe
    Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben: Hallo zusammen, ich arbeite gerade an einer Vereinfachung für Bestellungen. Ich habe es hingekriegt, dass Kontrollkästchen an zu wählen sind und dann bestimmte Informationen kopiert werden. Jetzt...
  6. benötige Hilfe bei Problem Feiertag und bestimmte Menge auf anderen Tag verschieben

    in Microsoft Excel Hilfe
    benötige Hilfe bei Problem Feiertag und bestimmte Menge auf anderen Tag verschieben: Hallo liebe Gemeinde, bei folgenden 2 Problemstellungen komme ich nicht zurecht. angenommen: 1. ich muss jeden Tag eine Menge von 1 Stück erbringen, außer an einem Feiertag, dann soll dieses...
  7. Problem mit VBA-Codes / Pflichtfelder ausfüllen, dann erst Möglichkeit zum Speichern

    in Microsoft Excel Hilfe
    Problem mit VBA-Codes / Pflichtfelder ausfüllen, dann erst Möglichkeit zum Speichern: Hallo zusammen, ich benötige mal die Hilfe von Spezialisten. Ich stehe vor folgendem Problem (am Beispiel der angehängten Datei): 1.) Ein Speichern der Vorlage soll erst dann möglich sein, wenn...
  8. Einfacher Fortschrittsbalken, Problem mit Code

    in Microsoft Excel Hilfe
    Einfacher Fortschrittsbalken, Problem mit Code: Hallo Ich habe aus dem Internet folgenden Fortschrittsbalken heruntergeladen. Nun verstehe ich das Beispiel usw. ohne Probleme. Wenn ich aber versuche die USerForm zu exportieren in ein anderes...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden