Ich nutze in einem Skript folgenden Code zur Umsetzung:
Range(„J1“, Range(„J1“).End(xlDown)).Select
For Each C In Selection
C.Cells(1, 1) = Replace(C.Cells(1, 1), „SO“, „Sonstiges“)
C.Cells(1, 1) = Replace(C.Cells(1, 1), „0“, „Grundwerk“)
C.Cells(1, 1) = Replace(C.Cells(1, 1), „99“, „Sonderausgabe“)
Next
Problem: ich möchte, dass nur in „Grundwerk“ umgesetzt wird, wenn in einer Zelle „0“ steht. Derzeit setzt die Anweisung bei einem Zelleintrag wie „10“ um in „1Grundwerk“
Problem: ich möchte, dass nur in „Grundwerk“ umgesetzt wird,
wenn in einer Zelle „0“ steht. Derzeit setzt die Anweisung bei
einem Zelleintrag wie „10“ um in „1Grundwerk“
Ungetestet: Lass’ bitte 'mal die Anführungszeichen weg bei den Zahlen, die Du ersetzen möchtest (0 ist eine Zahl, „0“ ist ein Text). Möglicherweise haut es dann schon hin.
Problem: ich möchte, dass nur in „Grundwerk“ umgesetzt wird,
wenn in einer Zelle „0“ steht. Derzeit setzt die Anweisung bei
einem Zelleintrag wie „10“ um in „1Grundwerk“
Hallo grußlose Münchner Mona Lisa,
vielleicht so:
Sub ML()
Dim C As Range
For Each C In Range("J1", Range("J1").End(xlDown))
C.Value = Replace(C.Value, "SO", "Sonstiges")
If C.Value = "0" Then C.Value = Replace(C.Value, "0", "Grundwerk")
C.Value = Replace(C.Value, "99", "Sonderausgabe")
Next C
End Sub
Problem: ich möchte, dass nur in „Grundwerk“ umgesetzt wird,
wenn in einer Zelle „0“ steht. Derzeit setzt die Anweisung bei
einem Zelleintrag wie „10“ um in „1Grundwerk“
Die Replace-Methode hat noch weitere Parameter, die genau dieses Verhalten steuern.
So gehts auf einen Schlag und erst noch so wie Du das gerne hättest
Public Sub tr\_Replace()
With Range("J1", Range("J1").End(xlDown))
.Replace "SO", "Sonstiges", xlWhole
.Replace "0", "Grundwerk", xlWhole
.Replace "99", "Sonderausgabe", xlWhole
End With
End Sub
Ich merke schon, hier sind Profis am Werk.
Danke für die schnelle Hilfe. Auch dieser Vorschlag führt zum richtigen Ergebnis.
Ich habe wieder einiges gelernt.
Gruss
Michael