2017-03-08 5 views
0

Ich versuche, einen Code, den ich mit dem Makro-Recorder erstellt, um zu arbeiten. Die Tabelle, die ich verwende, hat einige Spalten, die nur Zahlen oder Daten enthalten sollten, aber aus irgendeinem Grund werden einige der Werte als Text gespeichert.Excel VBA PasteSpecial mit xlPasteSpecialOperationAdd funktioniert nicht

Um es zu lösen, entschied ich mich für Kopieren und Einfügen 0 an alle diese Zellen. Wenn ich es manuell mache, funktioniert es gut. Also habe ich Excel-Makrorecorder gestartet, um den Code zu bekommen. Ich habe einige Änderungen an dem generierten Code vorgenommen, um ihn lesbarer und sauberer zu machen, aber eigentlich funktioniert weder der ursprüngliche Code noch meine Version davon.

Der Code ist wie folgt:

Range("F1").Value = 0 
Range("F1").Copy 
Set rngPaste = Range(Range("D3:E3"), Range("D3:E3").End(xlDown)) 
rngPaste.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationAdd, 
              _ SkipBlanks:=False, Transpose:=False 
Set rngPaste = Range(Range("G3:J3"), Range("G3:J3").End(xlDown)) 
rngPaste.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationAdd, 
              _ SkipBlanks:=False, Transpose:=False 
Application.CutCopyMode = False 

Irgendwelche Ideen, warum dies nicht funktioniert?

Vielen Dank im Voraus!

+1

Können Sie beschreiben genau das, was passiert, wenn Sie den obigen Code ausführen? Was meinst du damit, dass es nicht funktioniert? Können Sie hinzufügen, was aufgenommen wurde, bevor Sie es geändert haben? – Mike

+0

Sie sagen "einige der Werte als Text gespeichert" also warum wählen Sie sie alle und formatieren sie als Standard oder Nummer? –

+0

@Mike Es sollte die Daten und Zahlen, die als Text gespeichert sind, auf den richtigen Typ ändern. –

Antwort

0

Anstelle der Zugabe Null versuchen diese (es auf meinem Test funktionierte)

With Range(Range("D3:E3"), Range("D3:E3").End(xlDown)) 
    .Value = .Value2 
End With 
With Range(Range("G3:J3"), Range("G3:J3").End(xlDown)) 
    .Value = .Value2 
End With 
+0

Perfekte Lösung! Vielen Dank! –

Verwandte Themen