Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
Antworten Top


Gehe zu:


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