Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Einen Teil eines Zelleninhalts ersetzen

Einen Teil eines Zelleninhalts ersetzen
25.11.2019 12:18:42
Richi
Ciao Zäme
Ich benötige eure gütige Hilfe. Ich möchte innerhalb des Ranges O12:NO2993 bei jeder 19 Zeile den Zelleninhalt prüfen und ersetzen und zwar nur die ersten zwei Zeichen. Diese sind entweder leer oder hat mindestens 2 -8 Zeichen. Der Inhalt beginnt mit einer Zahl danach ein * und anschliessend eine 6stellige Auftragsnummer Beispiel 1*123456. Die ersten beiden Zeichen werden für die Farbgebung in der bedingten Formatierung verwendet. Nun habe ich das Problem, dass ich eine Anpassung vornehmen muss. Standard ersetzen geht da jeweils nur jede 19 Zeile verändert werden muss und in andern Zellen mit Formeleinträgen diese auch angepasst würden.
z.B. 1*123456 müsste 9*123456 und 2* 345678 müsste 7* 345678 heissen. Die Zahlenkombination nach * muss unbedingt beibehalten werden.
Habe ein verkleinertes Beispiel-File hochgeladen.
https://www.herber.de/bbs/user/133423.xlsx
Liebe Gruess
Richi
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in Deinem vorangegegangen thread ...
25.11.2019 12:29:44
neopa
Hallo Richi,
... hier: https://www.herber.de/forum/archiv/1724to1728/t1724923.htm hast Du die da anstehenden Fragen auch mE nicht ausreichend beantwortet. Erkläre doch mal an Hand Deiner Beispieldatei an zwei Beispielen ganz konkret, was Du wo konkret und wie Basis welcher Bedingung anstrebst.
Vielleicht wird dann Deine Zielstellung klarer.
Gruß Werner
.. , - ...
Anzeige
AW: Einen Teil eines Zelleninhalts ersetzen
25.11.2019 12:45:47
fcs
Hallo Richi,
hier sind 2 Makro-Varianten
einmal Zellenweise
einmal Blockweise mit suchen/ersetzen
LG
Franz
Sub Makro2()
Dim wks As Worksheet
Dim Zeile  As Long
Dim spa1 As Long, spa2 As Long, StatusCalc As Long
Dim rngZelle As Range
Set wks = ActiveSheet
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
With wks
spa1 = .Range("O1").Column
spa2 = .Range("NO1").Column
For Zeile = 12 To .UsedRange.Row + .UsedRange.Rows.Count - 1 Step 19
For Each Zelle In .Range(.Cells(Zeile, spa1), .Cells(Zeile, spa2)).Cells
stext = Zelle.Text
If Len(stext) >= 2 Then
Select Case Left(stext, 2)
Case "1*"
Zelle.Value = "9*" & Mid(stext, 3)
Case "2*"
Zelle.Value = "7*" & Mid(stext, 3)
End Select
End If
Next
Next
End With
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
End With
MsgBox "Ersetzen - Fertig"
End Sub
Sub Makro3()
' Makro2 Makro
Dim wks As Worksheet
Dim Zeile  As Long
Dim spa1 As Long, spa2 As Long, StatusCalc As Long
Set wks = ActiveSheet
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
With wks
spa1 = .Range("O1").Column
spa2 = .Range("NO1").Column
For Zeile = 12 To .UsedRange.Row + .UsedRange.Rows.Count - 1 Step 19
With .Range(.Cells(Zeile, spa1), .Cells(Zeile, spa2)).Cells
.Replace What:="1~*", Replacement:="9*", lookat:=xlPart
.Replace What:="2~*", Replacement:="7*", lookat:=xlPart
End With
Next
End With
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
End With
MsgBox "Ersetzen - Fertig"
End Sub

Anzeige
AW: Einen Teil eines Zelleninhalts ersetzen
26.11.2019 13:00:24
Richi
Sali Franz
Herzlichen Dank. Beide Makros funktionieren einwandfrei.
Liebe Gruess
Richi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige