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
letzte Zeichen löschen
13.11.2022 00:04:37
Fred
Guten Abend, ExcelProfis
ich habe ein Makro, was für einen ExcelProfi sicherlich leicht zu korrigieren ist.
Ich möchte die Zeichen nach dem Komma und einschließlich dem Komma löschen.
Bisher:

Dim r As Range
For Each r In Range("N229").CurrentRegion
If InStr(r, ",") > 0 Then
r = Left(r, Len(r) - InStr(r, ","))
End If
dieses Makro allerdings macht allerdings aus zB 23,4 eine 2
Kann ein Profi mir das bitte korrigieren?!
Gruss
Fred

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zeichen löschen
13.11.2022 00:54:56
onur

Dim r
For Each r In Range("N229").CurrentRegion
If InStr(r, ",") > 0 Then r = Left(r, InStr(r, ",") - 1)
Next

Wenn es um Zahlen geht …
13.11.2022 06:48:04
RPP63
Moin!
Bei Zahlen braucht man keine Schleife.
Allerdings muss in der Range.Replace-Methode der englische Dezimaltrenner . (Punkt) genommen werden:

Range("N229").CurrentRegion.Replace ".*", "", xlPart
Gruß Ralf
AW: Wenn es um Zahlen geht …
13.11.2022 11:02:28
Daniel
Das funktioniert auch mit Texten.
Dann natürlich mit Komma.
Gruß Daniel
AW: letzte Zeichen löschen
13.11.2022 08:23:36
 Matthias
Hallo,
Ausgehend davon des es immer Zahlen sind:

Sub Ohne_Komma()
Dim r As Range
For Each r In Range("N229").CurrentRegion
r = Int(r)
Next
End Sub
MfG Matthias
Anzeige
AW: letzte Zeichen löschen
13.11.2022 08:47:21
volti
Hallo Frad,
und noch eine Variante...
Code:


Sub Test() Dim r As Range For Each r In Range("N229").CurrentRegion r = Split(r, ",")(0) Next r End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: letzte Zeichen löschen
13.11.2022 09:35:16
Fred
Hallo Matthias, RPP63, Volti und Onur,
erstmal vielen Dank für eure Aufmerksamkeit in den frühen Sonntagstunden.
Vier Ansätze; Aber keine funktioniert. Das bedeutet wohl ganz klar, dass ich eine wichtige Information nicht erwähnt habe.
Es geht um Zellwerte, mit Format "Standard",- anscheinend durchgehend Zahlen als Text.
Ich habe mal einen kleinen Auszug angefügt:
https://www.herber.de/bbs/user/156159.xlsb
Gruss
Fred
AW: letzte Zeichen löschen
13.11.2022 10:30:04
hary
Moin
Ohne CurrentRegion

Sub test234()
Dim r As Range
For Each r In Range("N11:AG30")
If InStr(r, ",") > 0 Then r = Left(r, InStr(r, ",") - 1)
Next
End Sub
gruss hary
Anzeige
AW: letzte Zeichen löschen
13.11.2022 10:37:47
Fred
Hallo Harry,
nun funzt es!
Vielen Dank für deine Mühe
& einen schönen Sonntag
Gruss
Fred
AW: Preisfrage
13.11.2022 10:36:35
GerdL
Johaiakosaimas?

Sub Unit()
Dim C As Range
For Each C In ActiveSheet.ListObjects(1).DataBodyRange.Columns(14).Resize(, 20).Cells
C.Activate
ActiveCell = Val(ActiveCell)
Next
End Sub
Gruß Gerd
AW: Preisfrage
13.11.2022 10:47:53
Fred
Hallo GerdL,
ich habe schon die Lösung von Hary.
In der Original-Datei sind über 2000 Zeilen,- dein Makro arbeitet dies wesenlich "langsamer" ab ...
Vielen Dank für deine Mühe und einen schönen Sonntag!
Gruss
Fred
AW: letzte Zeichen löschen
13.11.2022 11:39:04
snb

Sub M_snb()
For Each it In Tabelle1.ListObjects(1).DataBodyRange.Offset(, 13).SpecialCells(2, 2)
it.Value = Abs(it.Value)
it.NumberFormat = "0"
Next
End Sub

Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige