Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

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

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
.. , - ...
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

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige