Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
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
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Klaus
Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
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
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Klaus
Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
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?!
Registriert seit: 13.04.2014
Version(en): 365
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:1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag 28
• Klaus
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
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:1 Nutzer sagt Danke an GMG-CC für diesen Beitrag 28
• Klaus
Registriert seit: 23.01.2017
Version(en): 365 - Version 2208
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
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Klaus
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
20.05.2017, 13:00
(Dieser Beitrag wurde zuletzt bearbeitet: 20.05.2017, 13:00 von GMG-CC.)
[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!
|