ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 9537|回复: 11

[分享]小写数字转换成大写金额的宏

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-12-8 15:12 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
下载后打开 工作簿 ,另存为 加载宏 (路径EXCEL会自动选择的), 在 [工具]—[加载宏]—选定宏 [数字转大写金额] 即可象EXCEL的其他函数一样使用(保存在 用户定义 那里) 例如 A1=12.22 在B1单元格输入 =DAXIE(A1),即可得出: 壹拾贰元贰角贰分 很实用,试一试! 8vcevRcz.rar (5.11 KB, 下载次数: 770)
[此贴子已经被taller于2005-12-8 18:19:41编辑过]

TA的精华主题

TA的得分主题

发表于 2005-12-8 15:34 | 显示全部楼层
吖,偶以为是求助的帖子呢。谢谢你的分享啊。[em24]

TA的精华主题

TA的得分主题

发表于 2005-12-8 18:23 | 显示全部楼层

楼主的下面的代码,可以在工作表中引用吗?至少在我这里不行

Sub DaXie(XiaoXie As Single) ' As Single

TA的精华主题

TA的得分主题

发表于 2005-12-30 16:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢楼主

TA的精华主题

TA的得分主题

发表于 2005-12-30 17:06 | 显示全部楼层
以下是引用[I]taller[/I]在2005-12-8 18:23:03的发言:[BR]

楼主的下面的代码,可以在工作表中引用吗?至少在我这里不行

Sub DaXie(XiaoXie As Single) ' As Single

请楼主先测试一下。 创意不错。

TA的精华主题

TA的得分主题

发表于 2005-12-30 18:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

财务金额的自动化大小写转换 --- MicroSoft China

http://support.microsoft.com/default.aspx?scid=kb;zh-cn;890704

ExcelHome 對這連結好像有問題,copy and paste 吧 Function dx(q) ybb = Round(q * 100) '将输入的数值扩大100倍,进行四舍五入 y = Int(ybb / 100) '截取出整数部分 j = Int(ybb / 10) - y * 10 '截取出十分位 f = ybb - y * 100 - j * 10 '截取出百分位 zy = Application.WorksheetFunction.Text(y, "[DBNum2][$-804]G/通用格式") '将整数部分转为中文大写 zj = Application.WorksheetFunction.Text(j, "[DBNum2][$-804]G/通用格式") '将十分位转为中文大写 zf = Application.WorksheetFunction.Text(f, "[DBNum2][$-804]G/通用格式") '将百分位转为中文大写 dx = zy & "元" & "整" d1 = zy & "元" If f <> 0 And j <> 0 Then dx = d1 & zj & "角" & zf & "分" If y = 0 Then dx = zj & "角" & zf & "分" End If End If If f = 0 And j <> 0 Then dx = d1 & zj & "角" & "整" If y = 0 Then dx = zj & "角" & "整" End If End If If f <> 0 And j = 0 Then dx = d1 & zj & zf & "分" If y = 0 Then dx = zf & "分" End If End If If q = "" Then dx = 0 '如没有输入任何数值为0 End If End Function
[此贴子已经被作者于2005-12-30 18:21:42编辑过]

TA的精华主题

TA的得分主题

发表于 2005-12-31 10:04 | 显示全部楼层

也可以用函数作:

=IF(数字单元格<0,"负",)&IF(INT(ABS(数字单元格)),TEXT(INT(ABS(数字单元格)),"[dbnum2]")&"元",)&IF(INT(ABS(数字单元格)*10)-INT(ABS(数字单元格))*10,TEXT(INT(ABS(数字单元格)*10)-INT(ABS(数字单元格))*10,"[dbnum2]")&"角",IF(INT(ABS(数字单元格))=ABS(数字单元格),,"零"))&IF(ROUND(ABS(数字单元格)*100-INT(ABS(数字单元格)*10)*10,),TEXT(ROUND(ABS(数字单元格)*100-INT(ABS(数字单元格)*10)*10,),"[dbnum2]")&"分","整")

TA的精华主题

TA的得分主题

发表于 2005-12-31 13:26 | 显示全部楼层

我看到并实际使用的函数

=TEXT(INT(引用的数字单元格),"[Dbnum2]G/通用格式")&"元"&IF((INT(引用的数字单元格*10)-INT(引用的数字单元格)*10)=0,IF((INT(引用的数字单元格*100)-INT(引用的数字单元格*10)*10)<>0,"零",""),TEXT(INT(引用的数字单元格*10)-INT(引用的数字单元格)*10,"[Dbnum2]G/通用格式") & "角") & IF((INT(引用的数字单元格*100)-INT(引用的数字单元格*10)*10)=0,"整",TEXT(INT(引用的数字单元格*100)-INT(引用的数字单元格*10)*10,"[Dbnum2]G/通用格式")&"分")

TA的精华主题

TA的得分主题

发表于 2006-1-2 03:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

都太长了

这是最短的,无金额限制,

http://club.excelhome.net/viewthread.php?tid=143657

TA的精华主题

TA的得分主题

发表于 2009-7-3 13:50 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-20 15:59 , Processed in 0.040588 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表