Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1300to1304
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
Inhaltsverzeichnis

Cbo ohne Doppelt und Bedingung

Cbo ohne Doppelt und Bedingung
14.03.2013 03:39:46
ludmila
Guten Morgen,
in einer UF ComboBox möchte ich Daten ohne doppelte und mit Bedingung einlesen
Zeile 1 = Titel ab Zeile 2 beginnen die Daten.
Der Datensatz in Zeile 2 wird nicht angezeigt obwohl die
Bedingungen erfüllt sind.
Alle andern werden angezeigt.
Danke!
Gruß
Ludmila
With wks
.Activate
Endrow = IIf(IsEmpty(.Range("AN65536")), .Range("AN65536").End(xlUp).Row, 65536)
'Endrow = .Cells(Rows.Count, 1).End(xlUp).Row 'funktioniert auch nicht
CBOAng1.Clear
For I = 1 To Endrow
If Not IsEmpty(.Cells(I, 40)) And .Cells(I, 47) = "nein" Then
col.Add Cells(I, 40), Cells(I, 40)
If Err = 0 Then
CBOAng1.AddItem Cells(I, 40)
Else
Err.Clear
End If
End If
Next I
On Error GoTo 0
CBOAng1.ListIndex = -1
End With

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

Betreff
Datum
Anwender
Anzeige
AW: Cbo ohne Doppelt und Bedingung
14.03.2013 07:05:08
Hajo_Zi
Hallo Ludmila,
was mir an Deinem Code auffällt.
Es sollte
IIf(IsEmpty(.Cells(Rows.Count, 1)), _
.Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
lautenen es können auch mehr als 65536 Zeilen sein.
Was ist Col?
Fehlt da nicht ein On Error?
Warum sollte ich die Datei nachbauen, die Zeit hat schon jemand investiert. Ein Nachbau sieht bestimmt anders aus als das Original.

Collection.Add
14.03.2013 07:55:41
Erich
Hi Ludmila,
steht in Cells(I, 40) immer ein Text?
Probiers mal mit

col.Add Cells(I, 40), CStr(Cells(I, 40))
'statt
col.Add Cells(I, 40), Cells(I, 40)

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
P.S.: Ist der Code von hier?
http://www.excel-werkstatt.de/index.php?site=download/download&kat=14&anzeigedl=16

Anzeige
AW: Cbo ohne Doppelt und Bedingung
14.03.2013 09:27:07
Daniel
Hi
anstatt aufwendiger Programmierung bevorzuge ich die Nutzung der vorhandenen Excelfunktionen, hier z.B. den Autofilter und RemovoeDuplicates.
der Code filtert die Tabelle nach Nicht-leeren in Spalte 40 und "nein" in Spalte 47
dann werden die sichtbaren werte der Spalte 40 in eine freie Stelle der Tabelle kopiert (ggf statt 100 eine anderen Spaltennummer eintragen) und dort das RemoveDuplicates angewendet, um die Duplikate zu entfernen.
von dort werden die Werte direkt in die Combobox geschrieben.

Application.Screenupdating = False
With wks
.UsedRange.AutoFilter Field:=40, Criteria1:=""
.UsedRange.AutoFilter Field:=47, Criteria1:="nein"
.UsedRange.Columns(40).SpecialCells(xlCellTypeVisible).Copy
.Cells(1, 100).PasteSpecial xlPasteValues
.UsedRange.AutoFilter
.Columns(100).RemoveDuplicates 1, xlYes
CBOAng1.List = .Range(.Cells(2, 100), .Cells(1, 100).End(xlDown))
.Columns(100).ClearContents
End With

Gruß Daniel

Anzeige
AW: Cbo ohne Doppelt und Bedingung
16.03.2013 02:46:02
ludmila
Hallo,
erst mal danke an alle die mir geantwortet haben.
Zuerst einmal Col steht als New Collection
Beginnen tue ich immer mit
On Error Resume Next
In Spalte 40 steht immer ein Text. Sollte hier nicht in Zeile
2 angegeben sein wird schon beim Aufruf der UF eine Fehlermeldung
ausgegeben.
Das mit den RemoveDuplicates muß ich probieren.
Danke erst mal für Eure Hilfe!
Gruß
Ludmila

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige