Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1076to1080
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Bessere Funktionalität für grosse Listen
23.05.2009 22:23:25
Tautz
Hallo Excel experts,
auf die folgende Anfrage:
"ich habe ein tool gebastelt in dem Eingaben aus Listen erfolgen. Für die Felder ist die entsprechende "Gültigkeit" in "Daten" festgelegt. Die Vorgehensweise dürfte hinlänglich bekannt sein.
Das funktioniert sehr gut. Ich möchte jedoch die Funktionalität etwas verbessern. Das Problem ist, das manche der Listen sehr lang sind. Das Fenster, das bei der Auswahl erscheint ist jedoch immer recht klein und zeigt nur wenige der Einträge an. Das Scrollen in der Liste ist dadurch suboptimal.
Kann man den angezeigten Listenbereich vergössern ? Ich habe noch keine Möglichkeit dafür gefunden.
Noch besser wäre es wenn man einen Anfangsbuchstaben eintippen könnte der dann die Anzeige in den entsprechenden Listenbereich springen lässt. Geht das ? "
...wurde mir empfohlen mit einer Combobox zu arbeiten. Für den Hinweis bin sehr dankbar aber ich habe das Problem, dass ich mich jenseits von Excel gar nicht auskenne. Da muss man bei mir bei "0" anfangen.
Kann mir jemand einen Hinweis geben, wie ich den Zellen in meiner Arbeitsmappe bei denen man aus sehr grossen Listen auswählen kann klarmache, dass für sie jetzt eine Combobox zu berücksichtigen ist ?
In die weite Welt des VBA kann ich mich zur Zeit nicht einarbeiten aber ich möchte es zu gegebener Zeit tun.
Gruss Bernhard

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bessere Funktionalität für grosse Listen
23.05.2009 22:58:33
Josef
Hallo Bernhard,
Userbild
Combobox einfügen und losgeht's
Gruß Sepp

AW: Bessere Funktionalität für grosse Listen
26.05.2009 22:52:01
Tautz
Vielen Dank !
Ihr seid echt gut drauf.
Ich habe das versucht und konnte es auch mit meinen bescheidenen Kenntnissen weitestgehend rekonstruieren. Nur gelingt mir das Einfügen der Combobox nicht. Wie geht das ?
Gruss Bernhard
Dropdown vollständig und breiter
23.05.2009 23:10:07
Beate
Hallo Bernhard,
füge folgenden Code ins Codefenster "dieseArbeitsmappe" ein:
'Quelle: http://puremis.net/excel/code/070.shtml (nicht mehr aktuell)
Dim oDpd As Object
Dim sFml1
Dim prvTarget As Range

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Const dFixedPos As Double = "0.8"
    Const dFixWidth As Double = "6.0" 'Change here to change WIDTH of the DropDown
    Dim vld As Validation
    Dim lDpdLine As Long
    
    If Not prvTarget Is Nothing Then
        If Not oDpd Is Nothing Then
            If oDpd.Value = 0 Then
                prvTarget.Value = vbNullString
            Else
                prvTarget.Value = Range(Mid(sFml1, 2)).Item(oDpd.Value)
            End If
            Set prvTarget = Nothing
        End If
    End If
    
    On Error Resume Next
    oDpd.Delete
    sFml1 = vbNullString
    Set oDpd = Nothing
    On Error GoTo 0
    
    If Target.Count > 1 Then
        Set oDpd = Nothing
        Exit Sub
    End If
    
    Set vld = Target.Validation
    On Error GoTo Terminate
    sFml1 = vld.Formula1
    On Error GoTo 0
    
    Set prvTarget = Target
    
    lDpdLine = Range(Mid(sFml1, 2)).Rows.Count
    
    With Target
        Set oDpd = ActiveSheet.DropDowns.Add( _
            .Left - dFixedPos, _
            .Top - dFixedPos, _
            .Width + dFixWidth + dFixedPos * 2, _
            .Height + dFixedPos * 2)
    End With
    With oDpd
        .ListFillRange = sFml1
        .DropDownLines = lDpdLine
        .Display3DShading = True
    End With
    Terminate:
End Sub


Guckst Du: Wie und wo fügt man ein Makro bzw. Code ein
Dies funktioniert dann so (ich hatte die Beschreibung damals aus obiger englischsprachigen Seite kopiert, die heute nicht mehr zugänglich ist):
Increase the visible list rows of the Data Validation list
The other day, I was asked that how to increase the visible rows of the Data Validation list?
Normally the visible list count in the Data Validation list is 8.
As far as I know, there is no way to increase the visible rows more than eight. (have a look at the picture in the left)
But a great idea just flashed in my mind. All it takes is using a DropDown Control instead of a Data Validation. (have a look at the picture in the right)
Excel has an object named DropDown as a hidden object (It's for Excel97 and the earlier version.) When you select a cell with Data Validation, this program would add a DropDown control dynamically then you can use the added DropDown instead of the Data Validation.
Gruß,
Beate
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige