将以文本forms存储的数据转换为数字(Oracle SQL)

我有一些数据,我通过VBAmacros从几个Oracle数据库中提取到Excel中。 一些列有数据(数字),afaik,存储为文本。 我需要将这些“错误的”格式化的数据转换为数字,以便我可以做它的计算,但我不知道如何有效地使用VBA做到这一点。 此外,只有部分数据以文本forms存储(KQ列的格式不正确,请参见下图)。

目前即时通讯使用这个循环来转换数据:

Sub convertTextToNumbers(ByVal sColumnHeader As String) Dim col As Range, c As Range Dim colIndexNumber As Integer, lastUsedRow As Integer colIndexNumber = findColumnIndexNumber(sColumnHeader) lastUsedRow = ActiveSheet.Cells(Rows.Count, colIndexNumber).End(xlUp).Row Set col = Range(Cells(2, colIndexNumber), Cells(lastUsedRow, colIndexNumber)) For Each c In col c.Value = c.Value Next c End Sub 

这是最有效的方法吗? 我可以转换使用SQL? 使用SQL查询即可:

 SELECT * FROM table_name 

另外通过select另一种格式转换不起作用。

谢谢!

错误地格式化的数据在KQ列中:

http://i.stack.imgur.com/N93D8.png

在列上使用数字格式。

 Columns("K:Q").Select Selection.NumberFormat = "0.00" 

或更多的编程

 Private Sub formatNumbers() Dim ws As Excel.Worksheet Set ws = Application.ActiveSheet ws.Range("K:Q").NumberFormat = "0.00" End Sub 

在范围格式菜单中看到的任何格式都可以这样应用。

在这里输入图像说明