多语言展示
当前在线:180今日阅读:126今日分享:42

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

如下表A列里面的数据所示,每一个小数点后面两位数插入一个空格进行隔开。看着这些数据都没有规律可循,普通的函数公式可能没法胜任,想来想去,还是觉得VBA程序来处理比较好。
工具/原料
1

计算机

2

Windows 7

3

Excel 2010

方法/步骤
1

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

2

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

3

在“Sheet1”的代码框里面输入以下程序代码:Sub KongGe()Dim i1, i2, i3, i4, str1On Error Resume Next  '忽略运行过程中可能出现的错误Set mysheet1 = ThisWorkbook.Worksheets('Sheet1')  '定义工作表Sheet1For 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) = str1NextEnd Sub

4

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

5

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

注意事项

个人经验,仅供参考。

推荐信息