Thema Datum  Von Nutzer Rating
Antwort
11.10.2016 19:48:47 Gast7777
NotSolved
11.10.2016 20:14:44 Gast14536
NotSolved
11.10.2016 20:47:59 Gast7777
NotSolved
Blau Ausblenden DropDown-Liste mit VBA?
11.10.2016 23:22:20 Gast14536
*****
Solved
11.10.2016 23:23:55 Gast14536
*****
Solved
13.10.2016 11:22:35 Gast7777
Solved
13.10.2016 11:24:09 Gast7777
NotSolved

Ansicht des Beitrags:
Von:
Gast14536
Datum:
11.10.2016 23:22:20
Views:
1115
Rating: Antwort:
 Nein
Thema:
Ausblenden DropDown-Liste mit VBA?

Auf die "Schnelle" und "von Hinten durch die Brust ins Auge"

- mach ich mir in einer Ecke der Tabelle die Zahlen 1-6 in Zellen untereinander

- benenne diesen Zellbereich als  Name "Liste"

- in das Klassenmodul der Tabelle die Ereignisprozedur

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'nur Spalte B
If Intersect(Range("B:B"), Target) Is Nothing Then Exit Sub
'keine Massenänderung
If Target.Count > 1 Then Exit Sub

Dim c As Range
Dim Arr() As Variant
Dim va As Integer
Dim Flag As Integer

Application.EnableEvents = False

   'Vorgabe einlesen
   Arr = Range("Liste").Value
   For va = LBound(Arr, 1) To UBound(Arr, 1)
      Select Case Target.Value
         'Zelle wurde gelöscht
         Case ""
            If Arr(va, 1) = Target.Value Then
               Arr(va, 1) = va
               Flag = 0
            End If
         'Zelle hat (neuen) Wert
         Case Else
            If Arr(va, 1) = Target.Value Then
               Arr(va, 1) = ""
               Flag = 1
            End If
      End Select
   Next va
   
   'zurückschreiben
   Range("Liste").Value = Arr
   
   'jetzt Gegenprobe
   Select Case Flag
      Case 1
      For va = LBound(Arr, 1) To UBound(Arr, 1)
         If Arr(va, 1) = "" Then
            Set c = Range("B:B").SpecialCells(xlCellTypeAllValidation).Find(va)
            If Not c Is Nothing Then
            Else
               Arr(va, 1) = va
            End If
         End If
      Next va
      Case 0
      For va = LBound(Arr, 1) To UBound(Arr, 1)
         If Arr(va, 1) <> "" Then
            Set c = Range("B:B").SpecialCells(xlCellTypeAllValidation).Find(va)
            If Not c Is Nothing Then
               Arr(va, 1) = ""
            Else
            End If
         End If
      Next va
   End Select
   
   'nochmals zurückschreiben
   Range("Liste").Value = Arr
   
Application.EnableEvents = True

End Sub

 


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
11.10.2016 19:48:47 Gast7777
NotSolved
11.10.2016 20:14:44 Gast14536
NotSolved
11.10.2016 20:47:59 Gast7777
NotSolved
Blau Ausblenden DropDown-Liste mit VBA?
11.10.2016 23:22:20 Gast14536
*****
Solved
11.10.2016 23:23:55 Gast14536
*****
Solved
13.10.2016 11:22:35 Gast7777
Solved
13.10.2016 11:24:09 Gast7777
NotSolved