2017-10-05 72 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