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.

Aufgezeichneter "Ersetzen"-Makro funktioniert nicht!
#1
Hallo zusammen,


ich habe eben dieses Makro aufgezeichnet der aber nicht funktioniert!?
Kann mir jemand sagen, warum? :)

Code:
Sub Makro1()
'
' Makro1 Makro
'

'
   Range("F7:F29").Select
   Selection.Replace What:="#NV", Replacement:="", LookAt:=xlPart, _
       SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
End Sub

Vielen Dank
LG
Alexandra
Antworten Top
#2
=#N/V is das Ergebnis einer Formel.
Es ist kein Wert (Value) einer Zelle.
Wenn der Fehler verursacht wird von einer Formel, muss man die Formel löschen oder ändern.

Code:
Sub M_snb()
   on error resume next
   Range("F7:F29").specialcells(2,16)=""
   Range("F7:F29").specialcells(-4123,16)=""
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
Hi snb,

wieder was gelernt: :)

Range("F7:F29").SpecialCells(2, 16) = "" entspricht
Range("F7:F29").SpecialCells(xlCellTypeConstants, xlErrors) = "" 

Das #NV ist richtig, das war das Ergebnis einer Formel die ich jedoch mit:
Range("F7:F29").Value = Range("F7:F29").Value in Werte/Text umgewandelt habe!

Danke für dein Code und Erklärungen, aber das war nicht meine Frage, warum funktioniert der Code nicht den ich aufgezeichnet habe?

Danke
LG
Alexandra
Antworten Top
#4
Hallo Alexandra,

gelöscht
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
Huh
Antworten Top
#6
Und was passiert nun ?


Code:
Sub M_snb()
   Range("F7:F29").Value = Range("F7:F29").Text
   Range("F7:F29").Replace "#N/V", "", 2
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Hi snb,

mit der ersten Zeile wird der gesamte Bereich gelöscht auch andere Werte <> #NV.
Die zweite Zeile passiert nichts!



LG
Alexandra
Antworten Top
#8
Arbeitest du in ein sehr exotischem Excel ? :19:

Ich kann es nicht nachvollziehen.

Biitte eine Beispieldatei,
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
Hallo Alexandra, :19:

VBA will es in Englisch. Der Rekorder zeichnet das auf, was du eingibst. Also schreibe entweder (nachdem du den Bereich in Werte umgewandelt hast): :21:

Code:
.Replace What:="#N/A", Replacement:="", LookAt:=xlPart,......

Oder eben: :21:

Code:
Range("F7:F29").Replace "#N/A", ""
________
Servus
Case
Antworten Top
#10
Hi snb,

hier meine "exotische" Beispieldatei, mit deiner ersten Codezeile wird alles gelöscht, wie ich schon sagte!

Mit deiner zweiten Codezeile, passiert gar nichts, es sein denn man schreibt es richtig, sowie Case! :)

@Case, danke für die vernünftige Erklärung!

LG
Alexandra


Angehängte Dateien
.xlsm   Replace.xlsm (Größe: 11,88 KB / Downloads: 4)
Antworten Top


Gehe zu:


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