Clever-Excel-Forum

Normale Version: Aufgezeichneter "Ersetzen"-Makro funktioniert nicht!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
=#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
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
Hallo Alexandra,

gelöscht
Huh
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
Hi snb,

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



LG
Alexandra
Arbeitest du in ein sehr exotischem Excel ? :19:

Ich kann es nicht nachvollziehen.

Biitte eine Beispieldatei,
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", ""
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
Seiten: 1 2