Dezimalzahlen werden unterschiedlich behandelt beim filtern/sortieren
#1
Hallo zusammen,

ich habe eine Datenbank erstellt, bei der ich die Daten filtern und neue Zeilen per UserForm anlegen kann. Beim Filtern werden jetzt allerdings alte, aus einer vorherigen Datenbank übernommene Daten anders behandelt als neu erstellten. Also bei den alten Daten lassen sich keine Dezimalzahlen direkt filtern, deshalb hab ich noch eine Toleranz hinzugefügt, heisst statt 168,3 muss ich nach 168+-1 filtern. Diese Filtereinstellung findet allerdings nicht die neu angelegten Daten, bei denen muss ich genau 168,3 suchen.
Außerdem werden bei der Sortierung zuerst die alten Daten aufgelistet und dann erst die neuen (zumindest bei dem Parameter Rohr). Die Sortierung ist nach Durchmesser, dann Rohr, dann Steigung, also Spalte 1->4->2, allerdings kommt nach den 420 beim Rohr dann die neu angelegten Zeilen mit 168,3.

Ich hoffe das ist verständlich geschrieben und ihr könnt mir weiterhelfen. 
Danke schon mal im Vorraus.

MfG

           
Antworten Top
#2
Hi,

mit Bildern kann man das nicht nachvollziehen, da mußt Du schon eine Datei liefern.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hallo,

schalte mal in allen Spalten die zentrierte Anzeige aus. Dann wirst Du sehen, dass die per UF eingetragenen Werte links anfangen und nicht rechts, was darauf schließen lässt, dass sie als Texte interpretiert werden.

Gruß, Uwe
Antworten Top
#4
Mir ist vor einigen Tagen eine Merkwürdigkeit beim Filtern von Zahlen aufgefallen. Dazu habe ich einem Mappe mit 3 Spalten erstellt, die alle Zahlenwerte und unterschiedliche "benutzerdefinierte Zahlenformate" enthalten.

Der Filter bietet für alle 3 Spalten den Zahlenfilter an.
Wird aber im benutzerdefinertem Autofilter mit "Ist gleich" (EQ) gesucht, dann muss jedoch die Formatierung bei der Suche berücksichtigt werden.
Nur bei: GE, GT, LE, LT, von/bis muss die Formatierung beim Filtern nicht beachtet werden.


Angehängte Dateien
.xlsx   cef - Merkwürdigkeiten Zahlenfilter.xlsx (Größe: 10,14 KB / Downloads: 5)
Antworten Top
#5
Danke, daran liegts.

Wie kann ich die Eingaben im Formular aus den Textfeldern als Zahlenwerte in die Tabelle übergeben? Aktuell mach ich das so:
Code:
Private Sub cbAnlegen_Click()

'Tabellenzeile hinzufügen
With ActiveSheet.ListObjects("Datenbank").ListRows.Add

    'Tabellenzeile befüllen
    .Range(, 1).Value = txtDurchmesser.Value
    .Range(, 2).Value = txtSteigung.Value
    .Range(, 3).Value = txtBlechdicke.Value
    .Range(, 4).Value = txtRohr.Value
    .Range(, 5).Value = txtZuschnitt.Value
    .Range(, 6).Value = txtMaterial.Value
    .Range(, 7).Value = txtVorrichtung.Value
    .Range(, 8).Value = txtMaschine.Value
    .Range(, 9).Value = txtDruck.Value
    .Range(, 10).Value = txtArtNrLinks.Value
    .Range(, 11).Value = txtArtNrRechts.Value
    .Range(, 12).Value = txtGewicht.Value
    .Range(, 13).Value = txtBemerkung.Value
   .Range.Select

End With
Antworten Top
#6
Moin!
Genau deshalb bin ich ein "Feind" von UserForms!
Nimm lieber ein neues Tabellenblatt und bilde die "TextBoxen" in Zellen ab.
Diese kannst Du wunderbar formatieren und bspw. per Datengültigkeit Fehleingaben verhindern.
TextBoxes in UserForms akzeptieren ausschließlich Text, auch 123,45 ist in einer TB Text!

Um dennoch Deine Frage zu beantworten:
Prüfe auf IsNumeric() oder IsDate() und wandele bei der Übergabe den "Zahltext" mittels CDate() oder CDbl()

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste