Thema Datum  Von Nutzer Rating
Antwort
04.04.2014 08:58:05 Corina
NotSolved
04.04.2014 15:22:16 H27
**
NotSolved
04.04.2014 16:16:53 Gast87997
NotSolved
Blau Dropdownliste bei Zeileneintrag hinzufügen/löschen
04.04.2014 16:19:20 Gast33135
*****
Solved
04.04.2014 16:50:05 Corina
NotSolved
04.04.2014 16:58:29 Gast33135
NotSolved
04.04.2014 17:01:18 Gast33135
NotSolved
04.04.2014 19:01:14 Gast24122
NotSolved
04.04.2014 21:56:16 Gast5116
NotSolved
07.04.2014 08:21:26 Corina
NotSolved

Ansicht des Beitrags:
Von:
Gast33135
Datum:
04.04.2014 16:19:20
Views:
2138
Rating: Antwort:
 Nein
Thema:
Dropdownliste bei Zeileneintrag hinzufügen/löschen

Hi,

hier mal meine Variante dazu. Quellcode gehört in die Tabelle in der du die Dropdownliste(n) haben willst.

Die Mappe muss ein leeres Arbeitsblatt mit dem Namen Tabelle3 besitzen (dort wird eine Beispielliste erstellt).

Option Explicit

'//////////////////////////////////////////////////////
'// dient nur der Erstellung einer Beispielliste
'// Ausführen
Public Sub Beispielliste_anlegen()
  With ThisWorkbook.Worksheets("Tabelle3")
    .Range("B1:D1").Value = Array("Auswahl-01", "Auswahl-02", "Auswahl-03")
    Call ThisWorkbook.Names.Add("GListe1", RefersTo:=.Range("B1:D1"))
  End With
  Call MsgBox("'GListe1' wurde erstellt.", vbInformation)
End Sub

'//////////////////////////////////////////////////////
'// hier wird auf Änderungen im Arbeitsblatt reagiert
Private Sub Worksheet_Change(ByVal Target As Range)
  
  Application.EnableEvents = False
  
  On Error GoTo ErrHandler
  
  Dim rngRef    As Excel.Range
  Dim rngArea   As Excel.Range
  Dim rngCells  As Excel.Range
  Dim rngCell   As Excel.Range
  
  'nur auf Änderungen in folgendem Bereich reagieren
  Set rngRef = Columns("C")
  
  'prüfen ob der für das Makro relevante Bereich/Zelle geändert wurde
  Set rngCells = Intersect(Target, rngRef)
  If Not rngCells Is Nothing Then
    
    For Each rngArea In rngCells.Areas '< relevant wenn mehrere Zellen
                                       '  auf einmal geändert wurden und
                                       '  nicht alle davon zusammen liegen
      For Each rngCell In rngArea.Cells
        
        With Cells(rngCell.Row, "D") '< Zelle mit der Gültigkeitsliste (GL)
          
          If Trim$(rngCell.Value) <> "" Then
          '> die Zelle, welche geänderte wurde, enthält Daten
            '=> GL entfernen, deren Inhalt löschen und neue GL setzen
            Call .Validation.Delete
            Call .ClearContents
            Call .Validation.Add(xlValidateList, Formula1:="=GListe1") '<"GListe1" => s.o. Beispielliste_anlegen()
          Else
          '> die Zelle, welche geänderte wurde, ist leer
            '=> GL entfernen und deren Inhalt löschen
            Call .Validation.Delete
            Call .ClearContents
          End If
        End With
        
      Next
    Next
    
  End If
  
SafeExit:
  Application.EnableEvents = True
  Exit Sub
  
ErrHandler:
  Call MsgBox(Err.Description, vbCritical, "Fehler " & Err.Number)
  GoTo SafeExit
  
End Sub

Gruß


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
04.04.2014 08:58:05 Corina
NotSolved
04.04.2014 15:22:16 H27
**
NotSolved
04.04.2014 16:16:53 Gast87997
NotSolved
Blau Dropdownliste bei Zeileneintrag hinzufügen/löschen
04.04.2014 16:19:20 Gast33135
*****
Solved
04.04.2014 16:50:05 Corina
NotSolved
04.04.2014 16:58:29 Gast33135
NotSolved
04.04.2014 17:01:18 Gast33135
NotSolved
04.04.2014 19:01:14 Gast24122
NotSolved
04.04.2014 21:56:16 Gast5116
NotSolved
07.04.2014 08:21:26 Corina
NotSolved