用EXCEL宏功能将数字列转化为文本列

看到这个标题,有的朋友可能会认为直接将列的属性设置为文本不就得了,干嘛还要这么麻烦呢?
我们发现,如果仅仅将列属性设置为文本后的EXCEL表导入到数据库(SqlServer)当中,所有的数字列将会自动转化成数字类型的字段了。如果这时候进行A字段+B字段的操作,就不是字符串相加而是数值相加了。
因此要实现真正的字符串转化必须在单元格前面加上一个单引号。我们可以通过以下宏方法来实现。

打开EXCEL文件后,打开“工具--宏--Visual Basic编辑器”
双击“Microsoft Excel对象”下面的"Sheet1"
然后在空白区域加上下列VBA代码,然后切换一下工作表就可以给每一行的数字列加上单引号变成文本列了(完成后要记得把代码删除):

Private Sub Worksheet_Activate()
If MsgBox("Are you sure?", vbOKCancel) = vbOK Then
Call Num2Text
End If
End Sub

Sub Num2Text()
For i = 1 To 1000 '共1000行,2为列数,可以修改
Sheet1.Cells(2)(i) = "'" + Sheet1.Cells(2)(i).Text
Next
End Sub

posted @ 2007-03-30 21:12  Popcorn  阅读(3420)  评论(0)    收藏  举报