EXCEL 如何制作瀑布图,对于有些数据做图表非常适合用瀑布图,比如生活开支......
Excel算式里面的每个数添加小数点
如下表所示,在A列单元格算式里边的每一个数加一个小数点(即:除以一千),如何快速处理?
工具/原料
- 操作设备:计算机
- 操作系统:Windows 7
- 办公软件:Excel 2010
方法/步骤
点击【文件】、【选项】。
点击【自定义功能区】,将“开发工具”选上,再点击【确定】。
点击【开发工具】、【Visual Basic】。
在VBE编辑器的菜单栏上面点击【插入】、【模块】。
在模块的代码框里边输入以下VBA程序代码,检查无误后按下【F5】键运行程序。
Sub Chu_Qian()
Dim i1, i2, i3, i4, str1, str2, str3
On Error Resume Next
Set MySheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表Sheet1
For i1 = 2 To 1000
If MySheet1.Cells(i1, 1) > "" Then
str3 = ""
For i2 = 1 To Len(MySheet1.Cells(i1, 1))
str1 = Mid(MySheet1.Cells(i1, 1), i2, 1) '逐一截取每个字符
If IsNumeric(str1) = True Then '判断是否为数字
i4 = i4 1 '累计字符个数
str2 = str2 & str1 '字符拼接
i3 = CVar(str2) / 1000 '除以1000
End If
If IsNumeric(str1) > True Or i2 = Len(MySheet1.Cells(i1, 1)) Then
If i2 = Len(MySheet1.Cells(i1, 1)) Then '截取的数字是最后一个时,则
str1 = ""
End If
If i4 4 And i2 > 3 Then '对于小于1的数值,前面补0
i3 = "0" & i3
End If
i4 = 0
str3 = str3 & i3 & str1 '算式拼接
i3 = ""
str2 = ""
End If
Next
MySheet1.Cells(i1, 2) = Chr(39) & str3 '算式拼接结果填入B列单元格
str3 = ""
End If
Next
End Sub
回到Sheet1工作表界面,将会看到其运行结果。
总结
VBA程序释义、总结:
1、由于无法直接提取算式里边的数值,只能对单元格里边的每一个数进行截取,再判断它是否是数字,如果是数字,则把它们拼接到一起。
2、在VBA程序运算结果中,小于1的数值其前面不带有0,因此,需要在程序里边进行判断之后把0给补上去。
3、VBA程序里边,待每个单元格计算完毕之后再写入单元格,以减少执行的次数,提高运行速度。
4、Excel表格上面可以使用【Alt F11】组合键快速调出VBE编辑器。
注意事项
- 数据无价,VBA程序运行之前先做好备份,以免丢失而无法找回。
- 程序运行的快慢主要与硬件设备、运算量有关。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!