Anzeige
Archiv - Navigation
848to852
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
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Format/Inhalt bei Einlesen in Combobox

Format/Inhalt bei Einlesen in Combobox
22.02.2007 13:57:20
MG_Learning
Hallo!
Habe ein kleines Problem!
Ich lese bestimmte Werte aus einer Spalte in eine Combobox ein (in UF)!
Ich lasse dabei eine Prozedur die Werte sortieren und DUplikate canceln!
Nun zeigt er mir aber Zahlen, die eigentlich durch das Duplikate canceln, nur einmal angezeigt werden sollen
doppelt in der Box ein!
Die Prozedur ist in Ordnung, da ich gestern schon Probleme damit hatte, konnten einige doppelt Zahlen schon rausgenommen werden, aber halt nicht alle!
Liegt das an der Eingabe?
Manche in der Spalte wurde ursprünglich als Zahlen eingegeben, die letzten wegen voranstehender Nullen aber als Text, und die die als Zahlen eingegeben wurden sind jetzt genau die doppelten! Format ändern bringt nichts!
Verarbeitet VBA das anders, bzw. wie kann ich das Format oder den Inhalt so ändern, so dass VBA die ordentlich vergleicht?
Danke für hilfreiche Infos!
MFG

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format/Inhalt bei Einlesen in Combobox
22.02.2007 16:47:00
Erich
Hallo (?),
Format ändern bringt nichts! - Das stimmt. Wichtig sind nicht die Formate, sondernd die Werte der Zellen.
Und da stehen noch Texte und Zahlen drin, die nur anscheinend gleich, tatsächlich aber sehr verschieden sind.
Du hast zwei Möglichkeiten:
a)
In der Tabelle alle Zahlen zu Texten (evtl. mit führenden Nullen) machen,
dann stehen nur noch Texte drin und es gibt keine Doppelten mehr.
b)
In der Einleseprozedur alle Zahlen zu Texten machen, dann Doppelte vermeiden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Format/Inhalt bei Einlesen in Combobox
22.02.2007 17:20:26
MG_Learning
Hallo Erich!
Ok, so in die Richtung habe ich mir das gedacht! Wie wandle ich aber alle Werte (an die 5000) aus der Spalte in ein einziges "Wert-Format" um! Ich bevorzuge Text, wegen der vorstehenden Nullen!
Hatte gestern schon einen hilfreichen Tip bekommen, womit ich die Einträge ohne führende Nullen zu Einträge mit führenden Nullen gemacht habe, die sind komischerweise nicht mehr doppelt in der Combo! Prozedur habe ich unter Userform_Initialize für die Spalte ablaufen lassen:

Private Sub Userform_Initialize()
Dim i As Integer
For i = 2 To 4998
If Len(Cells(i, 4)) < 5 Then
Cells(i, 4) = CStr(Application.WorksheetFunction.Rept("0", 5 - Len(Cells(i, 4))) & Cells(i, 4))
End If
Next i
End Sub

Wie kann ich diese modifizieren, dass er auch die Werte die 5 Stellen hatten in Text umwandelt?
Habe es gestern probiert, hat aber nichts funktioniert!
MFG Monty
Anzeige
AW: Format/Inhalt bei Einlesen in Combobox
22.02.2007 17:31:54
Erich
Hallo Monty,
wenn du die ganze Spalte als Text formatierst und das Makro so änderst, sollte es funzen:
Dim i As Long '(besser als Integer für Zeilenzahl)
For i = 2 To 4998
If Len(Cells(i, 4)) < 5 Then
Cells(i, 4) = CStr(Application.WorksheetFunction.Rept("0", 5 - Len(Cells(i, 4))) & Cells(i, 4))
Else
Cells(i, 4) = CStr(Cells(i, 4))
End If
Next i
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Format/Inhalt bei Einlesen in Combobox
22.02.2007 17:56:37
MG_Learning
Hallo Erich!
Das hat funktioniert und meine Combobox ist endlich ordentlich sortiert und ohne Duplikate!
Hast meinen Abend gerettet!
Noch eine Frage dazu: Was bedeutet dabei:
CStr(Application.WorksheetFunction.Rept()
Ich will ja schließlich nicht nur kopieren, sondern lernen und selber anwenden!
Wenn ich deine Zeit nochmal ein wenig in Anspruch nehmen kann?
Würdest du dann mal einen Blick auf meinen Beitrag vom 20.2.2007 um 10.38 Uhr werfen!
Komme mit Stormys Idee nicht recht weiter und sitze schon eine Weile daran!
Will nicht nochmal nen neuen Beitrag dazu ins Forum setzen!
Hatte bisher schon bisl VBA an der Uni, aber leider nicht für Excel! Aber es macht langsam Spaß!
MFG Monty
Anzeige
AW: Format/Inhalt bei Einlesen in Combobox
22.02.2007 19:21:02
Erich
Hallo Monty,
den im Makro schon vorhandenen Teil hatte ich mir nicht wirklich angeschaut.
Das erste CStr ist absolut überflüssig - es soll einen String aus etwas machen, was schon ein String ist.
Kürzer geht die Zeile so:
Cells(i, 4) = Application.Rept("0", 5 - Len(Cells(i, 4))) & Cells(i, 4)
Application.Rept ist nichts anderes als die Excel-Funktion WIEDERHOLEN. Sie wird hier verwendet,
um einen String links bis auf Länge 5 mit Nullen aufzufüllen. Ähnliches tut
Cells(i, 4) = Right("00000" & Cells(i, 4), 5)
Da ja nun die ganze spalte auf Text umgestellt ist, muss das nicht immer wieder passieren,
also kannst du den Teil mit
Cells(i, 4) = CStr(Cells(i, 4))
ab jetzt weglassen.
Auch das Auffüllen mit Nullen kannst du weglassen, wenn du per Daten - Gültigkeit nur noch 5-stellige PLZ zulässt.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Format/Inhalt bei Einlesen in Combobox
22.02.2007 20:25:00
MG_Learning
Danke, das hat sehr geholfen!
MFG
Danke für Rückmeldung - freut mich! (oT)
22.02.2007 20:54:42
Erich

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige