Makro um Werte kleiner als zu ersetzen
#1
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
Antworten Top
#2
Hallo,

ungestestet: .Range("C2:C" & letzteZeile).Replace "<123", "", 1
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
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
Antworten Top
#4
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste