广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Excel表格数据里面快速插入空格

    来源:网络收集  点击:  时间:2024-05-18
    【导读】:
    如下表A列里面的数据所示,每一个小数点后面两位数插入一个空格进行隔开。看着这些数据都没有规律可循,普通的函数公式可能没法胜任,想来想去,还是觉得VBA程序来处理比较好。工具/原料more计算机Windows 7Excel 2010方法/步骤1/5分步阅读

    打开Excel表格之后,按下【Alt+F11】组合键调出VBA编辑器;或者依次点击【开发工具】、【Visual Basic】调出VBA编辑器。

    2/5

    如果Excel表格的菜单栏上面没有【开发工具】这一项,【Alt+F11】组合键是比较凑效的,当然也可以通过设置把【开发工具】调出,即:点击【文件】、【选项】,然后在“自定义功能区”里面把“开发工具”这一项勾上。(如果已有,则忽略此步)

    3/5

    在“Sheet1”的代码框里面输入以下程序代码:

    Sub KongGe()

    Dim i1, i2, i3, i4, str1

    On Error Resume Next 忽略运行过程中可能出现的错误

    Set mysheet1 = ThisWorkbook.Worksheets(Sheet1) 定义工作表Sheet1

    For i1 = 2 To 1000 从第2行到1000行

    str1 = 寄存处中间变量置空

    i2 = 0 i2初始值置0

    If mysheet1.Cells(i1, 1) Then 如果A列对应的单元格不是空白,则

    For i3 = 1 To Len(mysheet1.Cells(i1, 1)) 对单元格里面的每一个数据循环

    i4 = i2 + 1 寄存上一次点号“.”的位置

    i2 = InStr(i4, mysheet1.Cells(i1, 1), .) 获取点号“.”的位置

    If i2 0 Then 如果存在点号“.”,则

    If i4 = 1 Then 如果是第一次截取,则

    str1 = Mid(mysheet1.Cells(i1, 1), 1, i2 + 2) 截取第一个数值

    End If

    If i4 1 Then 如果不是第一次截取,则

    str1 = str1 Mid(mysheet1.Cells(i1, 1), i4 + 2, i2 + 2 - i4 - 1)

    把前面截取的字符加空格之后再与后面截取的字符拼接起来

    End If

    Else

    Exit For 如果条件不满足则退出For循环

    End If

    Next

    End If

    mysheet1.Cells(i1, 2) = str1

    Next

    End Sub

    4/5

    其实,结果并不是很重要,重要的是如何去理清这些思路。正如刚看到的表格一样,数据没有规律,看似毫无头绪,仔细想想,还是可以见缝插针。通过数据截取的办法,截取之后,再把它们拼接起来,这就成了所需的所需的数据。

    5/5

    在VBA编辑界面,按下【F5】键运行VBA程序,回到Sheet1工作表界面将会看到程序的运行结果。

    注意事项

    个人经验,仅供参考。

    EXCELVBA宏
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_792135.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 13:28:36  耗时:0.026
    0.0265s