更改列号格式

时间:2017-10-05 23:16:35

标签: excel vba excel-vba

我正在将列从一个电子表格复制到另一个:

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 个答案:

答案 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列格式更改为常规,这将使所有条目看起来像数字到数字格式。