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

Teile ersetzen oder löschen

Teile ersetzen oder löschen
26.08.2017 11:00:07
Jens
Hallo
Ich habe in b12 bis zur letzten beschriebene Zelle in der Spalte Daten Stehen. Alles ausser Buchstaben und Zahlen soll dabei durch das Zeichen in Zelle C1 ersetzt werden. Z.b. :;!? Durch .
Ebenso kann es vorkommen das am Ende des Ausdruckes dann .at .AT at oder AT oder eine Mischung draus steht.
Der Ausdruck müsste dann um diese Symbole und Buchstaben verkürzt werden.
Hat hierzu jemand eine Idee wie das zu lösen ist?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:in Hilfsspalte mit geschachtelt. WECHSELN() owT
26.08.2017 11:32:14
...
Gruß Werner
.. , - ...
AW: AW:in Hilfsspalte mit geschachtelt. WECHSELN() owT
26.08.2017 11:52:55
Jens
Geht's auch über VBA ohne hilfsspalte?
AW: Test
26.08.2017 13:33:25
Fennek
Hi,
ein Test, ob deine Kenntnisse ausreichen, den code anzupassen:

Sub J2()
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = "\W"
For i = 12 To Cells(Rows.Count, "B").End(xlUp).Row
Debug.Print .Replace(Cells(i, "B").Value, Cells(1, "C").Value)
Next i
End With
End Sub
Bis auf den Unterstrich "_" und die zweite Frage "At" sollte es passen.
mfg
AW: Teile ersetzen oder löschen
26.08.2017 14:22:03
Christian
... Fennek hat dir ja schon das "große Besteck" aufgezeigt, mit RegEx....
Hier eine Bastellösung, die dir noch .at, .AT, und AT weghaut, wenn denn am Ende stehend
Option Explicit
Private Sub machen()
Dim i As Variant
' Zu ersetzende Zeichen
Dim arrRepl1 As Variant
arrRepl1 = Array("!", "$", "?", " ")
Dim arrRepl2 As Variant
arrRepl2 = Array(".at", ".AT", "at", "AT")
With ThisWorkbook.Worksheets("Tabelle1")
Dim myRange As Range
Set myRange = .Range(.Cells(12, 2), .Cells(.Rows.Count, 2).End(xlUp))
' Zelle mit Austauschwert
Dim strNeuesZeichen
strNeuesZeichen = CStr(.Range("C1").Value)
Dim e As Variant
' Alle Zellen in der Suchspalte duchrgehen
For Each e In myRange
' Replacefunction mit allen zu ersetzenden Werten ausführen
For i = LBound(arrRepl1) To UBound(arrRepl1)
e.Value = Replace(e.Value, arrRepl1(i), strNeuesZeichen)
Next i
Next e
For Each e In myRange
' Replacefunction mit allen zu ersetzenden Werten ausführen (arrRepl2)
For i = LBound(arrRepl2) To UBound(arrRepl2)
If Right(e.Value, 2) = arrRepl2(i) Then
e.Value = Left(e.Value, Len(e.Value) - 2)
ElseIf Right(e.Value, 3) = arrRepl2(i) Then
e.Value = Left(e.Value, Len(e.Value) - 3)
End If
Next i
Next e
End With
End Sub
Gruß,CH.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige