Clever-Excel-Forum

Normale Version: Makro um Werte kleiner als zu ersetzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Gemeinde,

mit dem Makro:

Dim letzteZeile As Long
 With ThisWorkbook.Sheets("Testblatt")
   letzteZeile = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("C2:C" & letzteZeile).Replace "123", "", 1
End With
   


kann ich erfolgreich alle Werte, die genau "123" heißen durch ein "" ersetzen.

Wie kann ich denn damit Werte, die KLEINER siind als "123" ersetzen?

Geht das überhaupt mit der Range.Replace  Funktion?

Viele Grüße
Andreas
Hallo,

ungestestet: .Range("C2:C" & letzteZeile).Replace "<123", "", 1
Hallo Andreas,

ein Wechsel der Interpretation zwischen "als Zahl" und "als Text" ist möglich, aber ohne eine gute Beispiel-Datei ist kein konkreter Vorschlag zu machen.

Zumindest die entscheidende Spalte muss dem Original entsprechen und für viele Variante zumindest ein Beispiel enthalten.

mfg
Moin!
Warum nicht einfach per Formel?

AB
1Werte
2126126
3122
4124124
5120
6121
7126126
8122
9126126
10121
11123123
12120
13124124
14120
15122
16122
17122
18121
19124124
20122
21126126

ZelleFormel
B2=WENN(A2<123;"";A2)

Genau so würde ich es auch per VBA manchen:
Sub Kleiner_Weg()
Dim i&
For i = 2 To Range("A2").End(xlDown).Row
  If Cells(i, 1) < 123 Then Cells(i, 1).ClearContents
Next
End Sub

Gruß Ralf
Eine Möglichkeit:

Code:
Dim letzteZeile As Long
With ThisWorkbook.Worksheets("Testblatt")
   letzteZeile = .Range("A" & .Rows.Count).End(xlUp).Row
   .Range("C2:C" & letzteZeile).Value = Evaluate("IF(C2:C" & letzteZeile & "<123,"""",C2:C" & letzteZeile & ")")
End With