Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

Find 1000er Zahlen

Find 1000er Zahlen
10.11.2022 22:30:06
MMRH
Hi,
ich habe folgenden Code zusammengezimmert, um in Spalte B nach Zahlen (EURO-Beträgen) zu suchen. Wenn diese gefunden werden, werden weitere Schritte ausgelöst. Ich gebe den Suchbetrag mit Komma in Userform1 ein.
Ich kann damit alle Zahlen zuverlässig finden, sofern es keine 1000er Beträge sind. 137,56 geht. 2.052,66 wird aber nicht gefunden. Dabei ist es egal, ob ich in Userform1 2052,66 oder 2,052.66 etc. eingebe....
Was entgeht mir hier? Dank im Voraus.

Sub find()
Dim suchbetrag As Double
Dim cl As Range
suchbetrag = UserForm1.TextBox1.Value
'MsgBox suchbetrag
With ActiveSheet.Range("B:B")
'With Selection.CurrentRegion.Select
Set cl = .find(suchbetrag, After:=.Range("A1"), LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
'Application.Speech.Speak CLng(UserForm1.TextBox1.Value), True, , True
If Not cl Is Nothing Then
cl.Select
Application.Speech.Speak ActiveCell, True, , True
Select Case MsgBox("Richtiger Fund?", vbYesNo, "Suchergebnis")
Case vbYes
If UserForm1.OptionButton1.Value = True Then
cl.Offset(0, 5).Select
ActiveCell.Value = CCur(UserForm1.TextBox2.Value)
ActiveCell.NumberFormat = "#,##0.00 €"
ActiveCell.Offset(0, 2).Value = CCur(ActiveCell.Value - ActiveCell.Offset(0, 1).Value)
ActiveCell.Offset(0, 2).Select
Application.Speech.Speak "Differenz in Höhe von " & ActiveCell.Value, True, , True
ElseIf UserForm1.OptionButton2.Value = True Then
cl.Offset(0, 8).Select
ActiveCell.Value = CCur(UserForm1.TextBox2.Value)
ActiveCell.NumberFormat = "#,##0.00 €"
ActiveCell.Offset(0, 2).Value = CCur(ActiveCell.Value - ActiveCell.Offset(0, 1).Value)
ActiveCell.Offset(0, 2).Select
Application.Speech.Speak "Differenz in Höhe von " & ActiveCell.Value, True, , True
End If
'cl.Select
Case vbNo
Exit Sub
End Select
Else
Application.Speech.Speak suchbetrag & "wurden nicht gefunden.", True, , True
MsgBox "kein Treffer", vbInformation, "Suchergebnis"
End If
End With
UserForm1.Show
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Find 1000er Zahlen
10.11.2022 22:41:24
Yal
Hallo Mmrh,
Versuche mit
suchbetrag = CDbl (UserForm1.TextBox1.Value)
Außerdem müsste die Spalte B als Zahl formatiert sein.
VG
Yal
AW: Find 1000er Zahlen
11.11.2022 08:19:58
MMRH
Hi, der ursprüngliche Code enthielt:
suchbetrag = ccur(userform1.textbox1.value)
alternativ habe ich es auch - wie du vorschlägst - mit cdbl() versucht. Das und noch eine weitere Konvertierung, die mir gerade nicht einfällt, haben nichts gebracht, daher habe ich das mal für die Frage weg gelassen.
Danke dennoch.
Grüße
AW: Find 1000er Zahlen
11.11.2022 09:19:55
Daniel
versuch mal, ob des CDbl(...) als Suchbegriff funktioniert, wenn du mit LookIn:=xlformulas suchst.
Gruß Daniel
Anzeige
AW: Find 1000er Zahlen
11.11.2022 12:19:30
MMRH
Hi,
dann funktioniert es auch mit dem ccur.
Danke für deine Hilfe. xlformulas hat es entschieden.
Alternativ habe ich die Zahlen in Spalte B als normale Zahl formatiert und dann geht es auch mit xlvalues.
Vielen Dank. Das Forum ist fast immer ein Treffer.
AW: Find 1000er Zahlen
10.11.2022 22:44:55
onur
suchbetrag = UserForm1.TextBox1.Value ?
Wie der Name "TextBox" es andeutet, enthält eine Textbox TEXT.
Du suchst Text in einer Spalte mit Zahlen. Sei froh, dass Excel etwas mitdenkt und wenigstens ein bisschen was findet.
AW: Find 1000er Zahlen
11.11.2022 08:22:52
MMRH
Puh, als ich Onur gelesen habe, war mir schon klar, dass die Antwort nicht diplomatisch wird.
Aber einen Lösungsvorschlag habe ich dennoch erwartet. Überraschend.
Danke dennoch für den Input.
Anzeige
AW: Find 1000er Zahlen
10.11.2022 23:55:41
Daniel
Hi
.Find mit Zahl ist kritisch.
mit LookIn:=xlvalues suchst du in den formatierten Werten, dh der Suchstring muss so sein, wie der Wert in der Zelle angezeigt wird.
Allerdings muss man, wenn man die Standardzeichen für Dezimal- und Tausendertrennung verwendet, die amerikanischen Zeichen im Textstring verwenden und nicht die deutschen, auch wenn die deutschen in der Zelle angezeigt werden.
Außerdem hast du vergessen, das LookAt:=xlpart/xlwhole anzugeben, dh es könnte dir also das Suchergebnis verhageln, wenn das jemand zuvor auf xlwhole (gesamten Zellinhalt vergleichen) umgestellt hat, dann müsstest du nämlich die Währungszeichen auch noch mit angeben.
Einfacher wäre es, in den Formeln zu suchen, dann musst du nur den Zahlenwert mit Dezimalzeichen als Suchtext verwenden, aber keine Tausendertrennzeichen oder Währungsymbole.
Geht natürlich nur, wenn die Zellen keine echten Formeln enthalten, sondern feste Werte (sonst suchst du in den Formeltexten)
Gruß Daniel
Anzeige
AW: Find 1000er Zahlen
11.11.2022 08:26:15
MMRH
Hi, danke.
Das mit den in Formeln suchen verstehe ich nicht ganz.
Die Zahlen in B:B sind so, wie ich sie in userform1.tb1 eingebe: 12345,67. Sie werden aber ccur konvertiert.
Wenn ich aber deinen vorherigen Absatz/Ansatz richtig verstehe, würde es helfen, wenn die Eingabe in Usform1.tb1 nicht konvertiert wird und eine einfache Zahl in Spalte B ohne Formatierung steht. Dann könnte die Suche klappen. Das versuche ich mal. Danke.
AW: Find 1000er Zahlen
11.11.2022 09:44:07
Daniel
mit LookIn:=xlvalues sucht Excel in dem, was du bekommst wenn du dir den Zellinhalt mit Cells().Text anschaust
mit LookIn:=xlformulas sucht Excel in dem, was du bekommst wenn du dir den Zellinhalt mit Cells().Formula anschaust.
Wenn in der Zelle keine Formeln sondern Konstanten stehen, sind .Formula und .Value gleich.
Gruß Daniel
Anzeige
AW: Find 1000er Zahlen
11.11.2022 11:01:16
snb
Hier funktioniert:
Kein Mille trennzeichen
Dezimalzeichen Punkt .

Sub find()
c00 = "1288.56"
With ActiveSheet.Columns(2)
If Not .find(c00) Is Nothing Then .find(c00).Offset(, 2) = .find(c00) - .find(c00).Offset(, 1)
End With
End Sub

AW: Find 1000er Zahlen
11.11.2022 12:20:16
MMRH
Hi, das hat nichts gebracht.
Lösung ist unter Antwort von Daniel beschrieben.
Danke an alle konstruktiven Beiträge.
AW: Find 1000er Zahlen
11.11.2022 12:33:54
snb
Glaube ich nicht: zeig mal deine Datei.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige