Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Dropdown-Feld

Problem mit Dropdown-Feld
11.06.2006 10:14:28
Madlen
Morgen alle zusammen,
ich habe ein Problem ;-)
Und zwar habe ich eine Liste, in der in Spalte A fortlaufend die nummern 1 bis 30 stehen. In Spalte B stehen nummern von Fahrzeugen, jedoch nicht in jeder Zelle. Und jetzt möchte ich mir für die Spalte B ein Dropdown-feld erzeugen, über welches ich mir aber nur die Zellen mit Zahlen anzeigen lassen kann und keine leeren Zellen zeigt!!!
Kann mir da jemand weiter helfen?
Hier einmal die Tabelle wie sieh aussieht:

Die Datei https://www.herber.de/bbs/user/34288.xls wurde aus Datenschutzgründen gelöscht

Schonmal danke im vorraus.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zum X.Mal doppelt !!!!!!!!!!!!!
11.06.2006 10:34:36
Hugo
Hallo, was soll das? Du postest ständig das selbe Problem immer neu? Es wird sich Deiner schon wer annehmen, es geht nicht immer sofort, das hier sind Privatleute die ihre Freizeit opfern.
Anbei wäre gesagt, dass es sowieso von Vorteil wäre, dir nicht zu helfen bei so viel Frechheit und ungeduld.
mfg
AW: Zum X.Mal doppelt !!!!!!!!!!!!!
11.06.2006 11:37:14
Madlen
Ich glaube do solltest nicht so im ton vergreifen, es kann glaub ich jedem mal passieren, das er ausversehen etwas doppelt postet, kein grund mich gleich so dumm anzumachen!!!
Und was soll das bitte heißen ich poste ständig alles neu? Das ist vielleicht wenns hinkommt mein dritter Beitrag in diesem Forum.
Anzeige
AW: Ich sag ja, STÄNDIG o.T.
11.06.2006 11:41:24
Bernd
.
AW: Zum X.Mal doppelt !!!!!!!!!!!!!
11.06.2006 11:43:58
Hugo
Aus versehen 3 mal das gleiche Posten? Ob das a versehen ist, glaub ich nicht.
Oba egal, lass ma des, is ja net zum streiten hier die Plattform, sorry.
mfg
AW: Problem mit Dropdown-Feld
11.06.2006 12:25:39
Josef
Hallo Madlen!
Füge diesen Code in das Modul der Tabelle ein.
(Rechtsklick auf Blattregister &gt Code anzeigen &gt in das rechte Fenster einfügen)
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim varList() As Variant, lngLast As Long, lngRow As Long
With Target
  On Error Resume Next
  If .Column = 2 And .Count = 1 Then
    Columns(.Column).Validation.Delete
    Redim varList(0)
    lngLast = Cells(Rows.Count, 2).End(xlUp).Row
    For lngRow = 2 To lngLast
      If Trim$(Cells(lngRow, 2)) <> "" Then
        Redim Preserve varList(UBound(varList) + 1)
        varList(UBound(varList) - 1) = Cells(lngRow, 2)
      End If
    Next
    Redim Preserve varList(UBound(varList) - 1)
    QuickSort varList
    If IsArray(varList) Then .Validation.Add xlValidateList, Formula1:=Join(deleteDouble(varList), ",")
    .Validation.ShowError = False
    Application.SendKeys "%{DOWN}"
  End If
End With
End Sub


Private Sub QuickSort(data() As Variant, Optional UG, Optional OG)
Dim P1&, P2&, T1 As Variant, T2 As Variant
UG = IIf(IsMissing(UG), LBound(data), UG)
OG = IIf(IsMissing(OG), UBound(data), OG)
P1 = UG
P2 = OG
T1 = data((P1 + P2) / 2)
Do
  Do While (data(P1) < T1)
    P1 = P1 + 1
  Loop
  Do While (data(P2) > T1)
    P2 = P2 - 1
  Loop
  If P1 <= P2 Then
    T2 = data(P1)
    data(P1) = data(P2)
    data(P2) = T2
    P1 = P1 + 1
    P2 = P2 - 1
  End If
Loop Until (P1 > P2)
If UG < P2 Then QuickSort data, UG, P2
If P1 < OG Then QuickSort data, P1, OG
End Sub


Private Function deleteDouble(field() As Variant) As Variant
Dim varT() As Variant
Dim i As Long
Redim varT(1)
varT(0) = field(0)
For i = 1 To UBound(field)
  If field(i) <> field(i - 1) Then
    varT(UBound(varT)) = field(i)
    Redim Preserve varT(UBound(varT) + 1)
  End If
Next
Redim Preserve varT(UBound(varT) - 1)
deleteDouble = varT
End Function


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige

226 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige