Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1776to1780
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

Textteile löschen

Textteile löschen
25.08.2020 13:10:39
Chris
Hallo, wie kann ich folgendes am besten machen
ich möchte z.B. den Text bM0690 durch " - " ersetzen.
Mein Problem ist allerdings, ich möchte alle Texte ersetzen, die aus bM und einer Ziffernfolge bestehen, egal welche und wieviele Ziffern.
Wie geht das?
Gruß
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: Textteile löschen
25.08.2020 13:12:40
Werner
Hallo,
und was steht da jetzt genau in der Zelle. Mach mal ein paar Beispiele vorher - nachher.
Gruß Werner
Beispiele
25.08.2020 13:28:34
Chris
BitterMoon - bM1861-EmmanuelleSeigner&KristinScottThomas
Emmanuelle-bM11833SylviaKristel&MarikaGreen
EmmanuellebM1835-SylviaKristel&JeanneColletin
AngerManagement-bM1831-KristaAllen&JanuaryJones
WhenNightIsFallingbM2849PascaleBussieres&RachaelCrawford
da fällt mir gerade auf, ist es auch möglich, die Leerzeichen und Bindestriche davor und danach mit zu ersetzen, sodass folgendes dabei herauskommt
BitterMoon - EmmanuelleSeigner&KristinScottThomas
Emmanuelle - SylviaKristel&MarikaGreen
Emmanuelle - SylviaKristel&JeanneColletin
AngerManagement - KristaAllen&JanuaryJones
WhenNightIsFalling - PascaleBussieres&RachaelCrawford
Außerdem mal noch eine andere Frage, ist es auch möglich, in einem Text vor jedem Großbuchstaben ein Leerzeichen einzufügen? Es sei denn der Buchstabe steht am Anfang eines Textes oder da steht bereits ein Leerzeichen?
Hier die 5 Beispiele nochmal als Datei
https://www.herber.de/bbs/user/139829.xlsx
Gruß
Christian
Anzeige
AW: Beispiele
25.08.2020 14:07:28
Rudi
Hallo,

Sub bM()
Dim rngC As Range
Dim strText As String, strTmp As String
Dim i As Integer, j As Integer
Application.ScreenUpdating = False
With Sheets(1)
For Each rngC In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
strText = vbNullString
If rngC Like "*bM?*" Then
strText = rngC
For i = 1 To Len(strText) - 2
If Mid(strText, i, 2) = "bM" Then
strTmp = "bM"
For j = i + 2 To Len(strText)
If IsNumeric(Mid(strText, j, 1)) Then
strTmp = strTmp & Mid(strText, j, 1)
Else
Exit For
End If
Next j
If Len(strTmp) Then
strText = Replace(strText, strTmp, "|")
strText = Replace(strText, " ", "")
strText = Replace(strText, "-", "")
strText = Replace(strText, "|", "-")
strTmp = Left(strText, 1)
For j = 2 To Len(strText)
If Mid(strText, j, 1) = UCase(Mid(strText, j, 1)) Then
strTmp = strTmp & " "
End If
strTmp = strTmp & Mid(strText, j, 1)
Next j
rngC = strTmp
Exit For
End If
End If
Next i
End If
Next rngC
End With
End Sub

Gruß
Rudi
Anzeige
AW: Beispiele
25.08.2020 15:02:57
Chris
Hallo Rudi,
danke erstmal für deine Mühe.
nur mal noch eine Frage, wollte dasselbe jetzt noch mit dem Begriff LunarScan machen, nur irgendwie reicht es nicht, den Begriff im Makro zu ändern.
Bitte schau doch nochmal.
Christian
wie sehen die Begriffe ...
25.08.2020 15:41:24
Rudi
... genau aus und wo stehen sie?
AW: wie sehen die Begriffe ...
25.08.2020 15:47:42
Chris
Hallo Rudi,
es waren von anfang an nur 2 bM und LunarScan.
Mit bM hat dein Makro exakt so funktioniert, wie ich es wollte.
Ich will jetzt exakt dasselbe mit LunarScan machen, also auch hier stehen noch Ziffern hintendran auch hier gibt es noch Bindestriche davor und dahinter.
Also soll dasselbe gemacht werden wie bislang, nur halt ein anderer Suchbegriff.
Gruß
Christian
Anzeige
AW: wie sehen die Begriffe ...
25.08.2020 15:55:05
Rudi
man muss ein bisschen mehr anpassen als den Suchbegriff
Sub LunarScan()
Dim rngC As Range
Dim strText As String, strTmp As String
Dim i As Integer, j As Integer
Const strMatch As String = "LunarScan"
Application.ScreenUpdating = False
With Sheets(1)
For Each rngC In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
strText = vbNullString
If rngC Like "*" & strMatch & "?*" Then
strText = rngC
For i = 1 To Len(strText) - Len(strMatch)
If Mid(strText, i, Len(strMatch)) = strMatch Then
strTmp = strMatch
For j = i + Len(strMatch) To Len(strText)
If IsNumeric(Mid(strText, j, 1)) Then
strTmp = strTmp & Mid(strText, j, 1)
Else
Exit For
End If
Next j
If Len(strTmp) Then
strText = Replace(strText, strTmp, "|")
strText = Replace(strText, " ", "")
strText = Replace(strText, "-", "")
strText = Replace(strText, "|", "-")
strTmp = Left(strText, 1)
For j = 2 To Len(strText)
If Mid(strText, j, 1) = UCase(Mid(strText, j, 1)) Then
strTmp = strTmp & " "
End If
strTmp = strTmp & Mid(strText, j, 1)
Next j
rngC = strTmp
Exit For
End If
End If
Next i
End If
Next rngC
End With
End Sub

Anzeige
AW: wie sehen die Begriffe ...
25.08.2020 16:10:37
Chris
Hallo Rudi,
das hat funktioniert. Danke
Christian
Nachtrag
25.08.2020 13:12:45
Chris
diese Zeichenfolgen sind immer mitten in einem Text zu finden, kein Text beginnt oder endet mit dieser Zeichenfolge
AW: RegEx
25.08.2020 13:30:42
Fennek
Hallo,
wenn Du dir ein RegEx zutraust, geht es recht übersichtlich.

Regexp.Pattern = "bM\d+"
mfg
AW: RegEx
25.08.2020 13:32:34
Chris
Hallo Fennek,
danke für den Hinweis aber von RegEx höre ich zum ersten mal.
Gruß
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige