Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kommas am Ende entfernen
#1
Hallo liebe Exceler,

ich würde gern in einer Spalte von allen beschriebenen Zellen die letzen Komma hinter einem Text abschneiden.

Gefunden habe ich das hier:

Code:
Sub KommaWeg()
   Dim strValue As String
   Dim intCounter As Integer
   strValue = Range("B2")
   For intCounter = Len(strValue) To 1 Step -1
       If Mid(strValue, intCounter, 1) = "," Then
           Range("B2") = Left(strValue, intCounter - 1) & _
               Mid(strValue, intCounter + 1, Len(strValue) - intCounter)
           Exit For
       End If
   Next intCounter
End Sub
...allerdings wird hier nur das letzte Komma aus B2 entfernt.
Wollte ich nun die ganze Spalte B von letzten Kommas befreien - was müsste ich dazu korrigieren?
Hat jemand einen Tipp für mich?

Liebe Grüße
Klaus
Antworten Top
#2
Hallo Klaus,

eine simple Lösung wäre:


Code:
Sub ersetzen()
 Dim i As Long, lngZ As Long
 Dim SuchenNach

 SuchenNach = ","
 lngZ = Cells(Rows.Count, 1).End(xlUp).Row
 For i = 1 To lngZ
     If Right(Cells(i, 1), 1) = SuchenNach Then Cells(i, 1) = Left(Cells(i, 1), Len(Cells(i, 1)) - 1)
 Next i
 
End Sub
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Klaus
Antworten Top
#3
Guten Morgen atilla,

danke für Deine Hilfe.

Dein Code funktioniert perfekt.
Jedoch würde ich gern verstehen, wieso ich ihn nicht umgestrickt bekomme.
Kannst du mich bitte kurz einweisen?

Ich sortiere das mal ja?!

...dieser Teil gibt an an welcher Stelle der Zelle das Komma gesucht und entfernt werden soll.
Code:
For i = 1 To lngZ
    If Right(Cells(i, 1), 1) = SuchenNach Then Cells(i, 1) = Left(Cells(i, 1), Len(Cells(i, 1)) - 1)
Next i

...dieser teil gibt an in welcher Spalte diese Aktion ausgeführt werden soll.
Code:
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
es wird also in Spalte 1 - also A - bis letzter beschriebener Zelle gesucht.


warum wird dann mit:
Code:
lngZ = Cells(Rows.Count, 2).End(xlUp).Row
nicht in Spalte 2 also B gesucht?

Viele Grüße
Klaus
Antworten Top
#4
Hallo Klaus,

Schau noch einmal drüber.
Da sind noch mehr Einsen.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Klaus
Antworten Top
#5
jooo... hab ich doch schon durchgetestet.
ich hab auch schon mehrere unterschiedlichen 1 und 2 kombinationen durch.
auch sowas was mir total unlogisch ist.
ich lande entweder immer in spalte a oder es passiert garnichts mehr.
google hab ich auch schon durch.


welche andere 1 sollte das denn noch sein?
vor allem im zweiten teil werden doch nur noch die zellen angesprochen?!
Antworten Top
#6
Hallo,

einfach mal den Code im Debug-Modus mit F8 Schritt für Schritt durchgehen. Man sollte auch wissen, das es Cells(Zeile,Spalte) heißt!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Klaus
Antworten Top
#7
Moin,
vielleicht findest du ja hier eine Antwort.
Übrigens: Ich finde es gut, dass du selber versuchst, den Code zu begreifen und anzupassen. Es gibt hier zu viele "Nehmer", die sich nur bedienen lassen und so gut wie keine Eigen-Initiative aufbringen. Leider wird das auch von diesem oder jenem Helfer unterstützt ...
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • Klaus
Antworten Top
#8
Gott ich bin so blöd.
Ich danke Euch für die Hilfestellung.

Ich hab es eigentlich schon gehabt - hab mich aber an 
Code:
Cells(Rows.Count, 1)

festgebissen. Der Link gab den entscheidenden Hinweis.
Hier die an Spalte B angepasste Version:
Code:
Sub ersetzen()
Dim i As Long, lngZ As Long
Dim SuchenNach

SuchenNach = ","
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lngZ
    If Right(Cells(i, 2), 1) = SuchenNach Then Cells(i, 2) = Left(Cells(i, 2), Len(Cells(i, 2)) - 1)
Next i

End Sub

Ich lieeebe Excel :05: 
Schade das ich soo wenig Zeit dafür habe :22:
Viele Grüße
Klaus
Antworten Top
#9
Hallo Klaus,

Beiß noch einmal an der Stelle zu, an der Du Dich festgebissen hattest.
Oder möchtest du die letzte belegte Zelle jetzt doch aus Spalte A auslesen?
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Klaus
Antworten Top
#10
[Gelöscht, weil Unsinn...]
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top


Gehe zu:


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