多语言展示
当前在线:1823今日阅读:27今日分享:41

使用VBA将小写转换成大写

如下表所示,要把B列里边的小写金额转换成大写金额填入C列对应的单元格,除了使用函数公式,还可以使用VBA程序进行处理。下面就分享一下使用VBA程序把小写转换成大写的方法。
工具/原料
1

计算机

2

Excel 2010

3

Windows 7

方法/步骤
1

打开Excel表格之后,按下键盘上面的【Alt+F11】组合键打开VBA编辑器。

2

在VBA编辑器界面,使用【Alt+I+M】组合键插入“程序模块”。

3

在模块代码窗口里边输入以下程序代码:Sub NumberCapital()Dim i, n, k1, k2, k3, k4, k5, k6On Error Resume Next                              '忽略运行过程中出现的错误Set mysheet1 = ThisWorkbook.Worksheets('Sheet1')  '定义工作表mysheet1.Range('C2:C1000') = ''                   '清空C2:C1000单元格里边的内容For n = 2 To 1000                                 '从第二行开始到1000行 If mysheet1.Cells(n, 2) <> '' And IsNumeric(mysheet1.Cells(n, 2)) = True Then '如果单元格不为空白且为数值,则  If mysheet1.Cells(n, 2) = Int(mysheet1.Cells(n, 2)) Then  '如果单元格里边的数值为整数,则   mysheet1.Cells(n, 3) = Application.WorksheetFunction.Text(mysheet1.Cells(n, 2), '[DBNum2]') & '元整'   '把单元格里边的数值转换成大写,并在末尾添加“元整”  Else   i = InStr(1, mysheet1.Cells(n, 2), '.')                  '获取字符“.”所在的位置   k1 = Mid(mysheet1.Cells(n, 2), 1, i - 1)                 '截取整数部分   k2 = Mid(mysheet1.Cells(n, 2), i + 1, 1)                 '截取第一位小数   k3 = Mid(mysheet1.Cells(n, 2), i + 2, 1)                 '截取第二位小数   k4 = Application.WorksheetFunction.Text(k1, '[DBNum2]')  '把整数部分转换成大写   k5 = Application.WorksheetFunction.Text(k2, '[DBNum2]')  '把第一位小数转换成大写   k6 = Application.WorksheetFunction.Text(k3, '[DBNum2]')  '把第二位小数转换成大写   mysheet1.Cells(n, 3) = k4 & '元' & k5 & '角' & k6 & '分' '截取的大写数值拼凑起来  End If End IfNextEnd Sub

4

程序代码释义:(1)“IsNumeric”主要是用来判断单元格的内容是否为数值,结合If函数进行判断可以有效避免非数值的单元格进行计算而出错。(2)“Int”是取整函数,使用它取整后再与单元格的值比较,如果相等,说明单元格里边的值是整数。(3)“InStr”指定的字符在字符串里边出现的位置,即:InStr(起始位置,查找字符串所在的单元格,查找的字符)。(4)“Mid”是从指定的字符串里边截取指定长度的字符,即:Mid(截取的字符串所在的单元格,起始位置,截取的字符个数)。(5)“Application.WorksheetFunction.Text”是引用Excel工作表的text函数,主要是把数值转换成大写的形式,即:Application.WorksheetFunction.Text(数值,文本格式)。

5

在VBA编辑器窗口界面按下【F5】键运行VBA程序,也可以在VBA编辑器的工具栏里边点击“运行”图标运行VBA程序。

6

回到工作表界面,将会看到VBA程序运行的结果。

注意事项

个人经验,仅供参考;不足之处,敬请谅解。

推荐信息