我正在尝试在一张纸上复制一列数字并将其粘贴到另一张纸上的另一列。当我粘贴数字列时,即使它们在原始工作表中的格式是数字,也会将它们粘贴为文本。我能做什么?
我尝试使用几种不同的PasteSpecial格式,并且还尝试记录一个宏,在该宏中我将格式从文本转换为数字,但是这些都不起作用。
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Worksheets("Data").Activate
Range("I1").Select
ActiveCell.Offset(NumRowsToSkip, 0).Select
ActiveCell.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
我希望将数字列粘贴为数字,但将其粘贴为文本,这会使我的电子表格中的方程式混乱。
答案 0 :(得分:0)
您可以进行很多选择,这是不需要的。您应该能够在粘贴之前设置格式,但是以下代码将自动将整个列设置为您在宏中指定的任何数字格式。
Sub QuickExample()
'Set your number format the way you want. You can find this in formatting/custom to see whatever you've selected
'The below example is with commas, no decimals, red for negative.
Const YourPreferredNumberFormat As String = "#,##0_);[Red](#,##0)"
Range(Selection, Selection.End(xlDown)).Copy
With Worksheets("Data").Range("I1")
.Offset(NumRowsToSkip, 0).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
.EntireColumn.NumberFormat = YourPreferredNumberFormat
End With
End Sub