数值与文本格式快速切换

平时在输入数据时,有些数值格式要转为文本,有些文本需要转换数值用来统计下。
今天分享个数值文本的互相转换
代码如下:
  1. Sub 文本与数值转换()   
  2.     Dim ans As VbMsgBoxResult   
  3.     ‘让用户选择转换方式   
  4.     ans = MsgBox("如果将文本转换成数字,请选“是”" + Chr(10) + "如果将数字转换成文本,请选“否”", vbYesNo, "操作选项")   
  5.     Application.ScreenUpdating = False    
  6.     If ans = vbYes Then    
  7.         With Intersect(Selection, ActiveSheet.UsedRange) ‘仅对选区与已用区域的交集进行操作   
  8.             .NumberFormatLocal = "G/通用格式" ‘设置数字格式为常规   
  9.             .Value = .Value ‘文本形数字转换数值   
  10.         End With   
  11.     Else    
  12.         Dim cell As Range   
  13.         For Each cell In Intersect(Selection, ActiveSheet.UsedRange)    
  14.             If IsNumeric(cell) Then cell.Value = "’" & cell.Value   
  15.         Next   
  16.     End If   
  17.     Application.ScreenUpdating = True ‘恢复屏幕更新   
  18. End Sub  

使用方法:选择要转换的区域执行即可,为了更加简便,可以添加控件按钮指定

Have fun!

分享到:

3 条评论

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

昵称
  1. 随云飘

    这个不错得收藏。

    1. Kael.Z

      呵呵,有帮助就好~

  2. 卸妆油

    这个给力,方便多了