2017-10-05 126 views
1

我复制列从一个电子表格到另一个:更改列数字格式

Set sourceColumn = wb.Worksheets(cmb).Columns(wb.Sheets(cmb).Rows(1).Find(Form.ComboBox2.Value).Column) 
Set targetColumn = Workbooks("B.xlsm").ActiveSheet.Columns("A") 
sourceColumn.Copy Destination:=targetColumn 

复制后,我想将targetColumn位置的数字格式转换为数字。 参考this后,我试过Workbooks("B.xlsm").ActiveSheet.Columns("1").NumberFormat = "0",但这并不改变列格式从文本到数字。

任何想法什么是错误的?

回答

1

如果你确信你的列中的所有值都设置为文本格式的数字,你可以尝试Text to Column功能,例如:

With Workbooks("B.xlsm").ActiveSheet ' you might want to be more explicit here 
    .Columns(1).TextToColumns Destination:=.Columns(1), _ 
           DataType:=xlDelimited, _ 
           FieldInfo:=Array(1, 1) 
End With 

上述变化的第1列格式一般这将使所有条目看起来像数字到数字格式。

+0

这仍将列项作为文本存储。如何将它转换为数字? – user248884

+0

@ user248884复制内容后执行此操作。 – L42

+0

是的,它仍然没有改变格式。 – user248884