Microsoft Excel

Herbers Excel/VBA-Archiv

dropdownmenue nicht "selbstentleerend"

Betrifft: dropdownmenue nicht "selbstentleerend" von: armin
Geschrieben am: 22.11.2005 10:29:42

Hallo Forum,

habe vor einiger zeit folgenden VBA Code von JEhrensberger erhalten.
Jetzt müßte ich für eine modifizierte Anwendung ein Dropdown-Menue haben, das sich nicht entleert. Was muß ich im Code ändern?

Option Explicit


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim rng As Range, arr As Variant, tmp() As Variant, n As Integer, k As Integer
   
   Set rng = Range("A2:M40")
   
   If Not Intersect(Target, rng) Is Nothing Then
      
      On Error GoTo ErrExit
      
      With Application
         .EnableEvents = False
         .Calculation = xlCalculationManual
      End With
      
      
      rng.Validation.Delete
      
      
      Select Case Me.Cells(1, Target.Column).Text
         
         Case "Vorarbeiter"
            arr = Sheets("Liste").Range("vorarb")
         Case "Helfer"
            arr = Sheets("Liste").Range("helfer")
         Case "Azubis"
            arr = Sheets("Liste").Range("azubi")
         Case Else
            GoTo ErrExit
            
      End Select
      
      
      For n = 1 To UBound(arr, 1)
         If Application.CountIf(rng, Trim$(arr(n, 1))) = 0 Then
            If arr(n, 1) <> "" Then
               ReDim Preserve tmp(k)
               tmp(k) = Trim$(arr(n, 1))
               k = k + 1
            End If
         End If
      Next
      
      With Target.Validation
         .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=Join(tmp, ",")
      End With
      
      If Target.Count = 1 Then Application.SendKeys "%{DOWN}"
      
   End If
   
ErrExit:
   With Application
      .EnableEvents = True
      .Calculation = xlCalculationAutomatic
   End With

End Sub


Danke für Eure Hilfe!

Gruß

armin
  


Betrifft: AW: dropdownmenue nicht "selbstentleerend" von: u_
Geschrieben am: 22.11.2005 10:47:01

Hallo,
prinzipiell das:
rng.Validation.Delete
Da fängst du dir aber andere Probleme ein, da permanent im Bereich A2:M40 Gültigkeitsprüfungen gelöscht und neu gesetzt werden. Es tritt zwar kein Fehler auf, aber existierende Gültigkeiten werden nicht aktualisiert.

Gruß

Geist ist geil!


  


Betrifft: AW: dropdownmenue nicht "selbstentleerend" von: armin
Geschrieben am: 22.11.2005 11:15:23

Hallo U_!

Danke für Deine Nachricht. Das habe ich auch schon probiert, aber es gab doch Probleme.
Man müßte zwischenspeichern, aber Excel findet dann mal die Werte, mal nicht. Warum kann ich nicht erahnen.
Geht das nicht viel einfacher. ich brauche nur ein Dropdown das ich bei Klick in die Zelle öffnet, den ausgewählten Wert in die anbgeklickte Zelle schreibt und fertig.

Danke für jede Hilfe im Voraus!

gruß armin.


  


Betrifft: AW: dropdownmenue nicht "selbstentleerend" von: u_
Geschrieben am: 22.11.2005 11:24:53

Hallo,
dann schmeiß doch das Makro raus und leg die Gültigkeit von Hand fest.

Gruß

Geist ist geil!


  


Betrifft: AW: dropdownmenue nicht "selbstentleerend" von: armin
Geschrieben am: 22.11.2005 12:21:45

Hallo H_!

Gern, wenn ich es könnte. VBA-Kenntnisse gen Null. Leider. Ein bisschen Anpassen, Wertebereiche, Blattnamen etc. kein Problem, dann hört es aber schnell auf.
Hast du einen konkreten Tip?

Gruß
armin


  


Betrifft: AW: dropdownmenue nicht "selbstentleerend" von: u_
Geschrieben am: 22.11.2005 12:54:32

Hallo,
nix VBA! Excel! Daten-Gültigkeit

Gruß

Geist ist geil!


  


Betrifft: AW: dropdownmenue nicht "selbstentleerend" von: armin
Geschrieben am: 22.11.2005 13:39:40

Hallo U_!

habs kapiert, funktioniert wie gewünscht. danke!

Gruß armin