VBA replace
#1
Guten Tag :19: ,

ich brauche einen VBA Code, der eine Zelle ersetzt, wenn z.B. die ersten 2 Zeichen "80" sind.

Ich weiss wie man z.B. die 80 ersetzt, wenn diese an einer beliebigen Stelle stehen kann, aber nicht wie man das tut, wenn

dies die ersten 2 Zahlen sein sollen Huh

Vielen Dank im Voraus !

Tolik :19:
Top
#2
Hallo,

wie ist es mit:
If Left(Range("A1"), 2)=80 Then [neue Zeichenfolge] & Mid(Range("A1"), 3, Len(Range("A1"))
wenn der entsprechende Wert in A1 steht.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Top
#3
Hallo,

die Antwort ist sicher richtig, aber es geht auch etwas skuriler:

Für A1:


Code:
Sub fen()
Tx = cells(1,1)
mid(Tx,1,2) = "QW" ' neuer Code
cells(1,1) = Tx
end sub


Die Schleife über alle Zellen wird der Fragesteller hinbekommen.

mfg
Top
#4
Hallo,

warum Mid, wenn der Fragesteller doch auf die ersten 2 Stellen reflektiert, und nicht geich Left?
Ausserdem der Umweg über Tx und nicht gleich in Cells(1, 1)?
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Top
#5
@Glausius:

die "Mid"-Funktion zum replace zu "missbrauchen", ist schon etwas bizar, mit der "left"-Funktion geht das nicht. Eine Anwendung direkt auf die Zelle, hat nicht geklappt, deshalb der Umweg über den string.

Alternativ ginge auch "cells(1,1).characters.insert" ... (die genaue Syntax müßte ich nachschauen).

mfg
Top
#6
Danke für die Antworten !

werde sie mal ausprobieren
Top


Gehe zu:


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