Office中国论坛/Access中国论坛
标题:
将键入的阿拉伯数字自动转换成人民币大写金额
[打印本页]
作者:
admin
时间:
2004-6-24 05:04
标题:
将键入的阿拉伯数字自动转换成人民币大写金额
将键入的阿拉伯数字自动转换成人民币大写金额
转自 ·青牛··yesky
在使用EXCEL过程中,在制作财务凭证时经常需要将数字表示为大写的数字金额,可用设置单元格格式的方法来实现:
1.首先鼠标右键单击需要用大写金额显示的单元格。
2.(*假设此单元格金额为123.50元*) → 设置单元格格式 → 数字 → 自定义 → 在类型框中输入 [DBNum2]0"百"0"拾"0"元"0"角""整" 即可将选中的单元格中的数字显示为大写金额:(壹百贰拾叁元伍角整)。
(*假设此单元格金额为1234.51元*) → 设置单元格格式 → 数字 → 自定义 → 在类型框中输入 [DBNum2]0"千"0"百"0"拾"0"元"0"角"0"分""整" 即可将选中的单元格中的数字显示为大写金额:(壹千贰百叁拾肆元伍角壹分整)。
作者:
xulanghui
时间:
2004-7-20 23:58
你的方法好像行不通,我用的是OFFICE2003。<COLGROUP><COL style="WIDTH: 54pt" width=72><COL style="WIDTH: 176pt; mso-width-source: userset; mso-width-alt: 7520" width=235>123.5零百壹拾贰元肆角整1234.51零千零百壹拾贰元叁角伍分整
作者:
guankee
时间:
2004-7-22 21:28
我也是OFFICE2003123.4 <COLGROUP><COL style="WIDTH: 152pt; mso-width-source: userset; mso-width-alt: 6464" width=202>0千0百0拾1元2角3分整
作者:
zzcad
时间:
2004-8-3 05:07
我的跟2、3楼一样啊!
作者:
caoshuxue
时间:
2004-8-6 00:53
我直接输入1234 ,就自动变成大写
作者:
2015
时间:
2004-9-4 17:07
好像不行
作者:
mfkjatflf
时间:
2004-9-5 01:16
不行啊,老兄!我是2000
[em04][em04]
作者:
ppp-ppp
时间:
2004-9-9 06:46
不行的。我有一个函数转换公式。明天发上来。
作者:
远见卓识
时间:
2005-1-2 04:45
可以利用VBA编一个函数实现你的功能
作者:
远见卓识
时间:
2005-1-2 04:47
Function D(Q)
YBB = Round(Q * 100)
Y = Int(YBB / 100)
J = Int(YBB / 10) - Y * 10
F = YBB - Y * 100 - J * 10
ZY = Application.WorksheetFunction.Text(Y, "[DBNUM2]")
ZJ = Application.WorksheetFunction.Text(J, "[DBNUM2]")
ZF = Application.WorksheetFunction.Text(F, "[DBNUM2]")
D = ZY & "元"
If F <> 0 And J <> 0 Then
D = D & ZJ & "角" & ZF & "分"
If Y = 0 Then
D = ZJ & "角" & ZF & "分"
End If
End If
If F = 0 And J <> 0 Then
D = D & ZJ & "角"
If Y = 0 Then
D = ZJ & "角"
End If
End If
If F <> 0 And J = 0 Then
D = D & ZJ & ZF & "分"
If Y = 0 Then
D = ZF & "分"
End If
End If
If Q = "" Then
D = 0
End IfEnd Function
作者:
geoffrey
时间:
2005-1-13 00:42
是不是很容易[attach]8566[/attach]
作者:
水晶葡萄
时间:
2005-1-15 00:34
得了。这样以后方便多了。3Q[em02]
作者:
ec119
时间:
2005-2-4 20:12
不错!可惜的是书写不正规!负数,整字不能体现!
作者:
liyh67
时间:
2005-2-12 00:50
[attach]8962[/attach]
作者:
西岭雪
时间:
2005-2-19 22:39
呵呵!!这是我请教过的。他们的答复好下!! '该函数源码取自网络,略作修改而成 钟跃勇
Public Function BigNum(小写数字 As Currency)
Application.Volatile
If 小写数字 = 0 Then
BigNum = "零元整"
Else
Const cNum = "零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"
Const cCha = "零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整"
BigNum = ""
sNum = Trim(Str(Int(Round(小写数字, 2) * 100)))
For i = 1 To Len(sNum) '逐位转换
BigNum = BigNum + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)
Next i
For i = 0 To 11 '去掉多余的零
BigNum = Replace(BigNum, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1))
Next i
End If
End Function
作者:
wzdcw
时间:
2005-2-27 22:28
不用这么麻烦,选定单元格,点击右键选中设置单元格格式,点“数字”,“特殊”“类型”“中文大写数字”。就可以了。
作者:
ahaoge
时间:
2005-3-4 03:34
自定义函数不清BIGNUM,保存为宏模块,加载宏,即可使用,公式=BIGNUM(number1)
Public Function BigNum(小写数字 As Currency)
Application.Volatile
If 小写数字 = 0 Then
BigNum = "零元整"
Else
Const cNum = "零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"
Const cCha = "零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整"
BigNum = ""
sNum = Trim(Str(Int(Round(小写数字, 2) * 100)))
For i = 1 To Len(sNum) '逐位转换
BigNum = BigNum + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)
Next i
For i = 0 To 11 '去掉多余的零
BigNum = Replace(BigNum, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1))
Next i
End If
End Function
作者:
扬扬628
时间:
2006-2-8 17:52
楼上的我看不懂,我以前学的全部忘了,好伤心!!
作者:
ymzhu302
时间:
2006-8-1 06:36
我试试17楼的![em01][em01]
作者:
tracyli
时间:
2006-9-1 17:30
16楼的方法我试了一下,结果是:
<COLGROUP>
<COL style="WIDTH: 123pt; mso-width-source: userset; mso-width-alt: 5248" width=164>
壹佰贰拾叁.伍
作者:
zxwlcaitou
时间:
2006-9-14 06:32
标题:
回复:(admin)将键入的阿拉伯数字自动转换成人民币大...
顶起,试试能不能回贴了
作者:
sundengpan
时间:
2006-9-26 01:17
直接用拼音加加输入发就可以!!!!!!!!!!![em05]
作者:
jnjsh
时间:
2006-11-6 23:43
我也和二楼一样
作者:
清风细雨
时间:
2007-3-7 06:02
标题:
最佳答案
例如:将E3表格中的数学转换为人民币大写填在E2,把下列命令粘贴在E2单元格就行了.其他转换类同
=IF(INT(E13)-E13=0,CONCATENATE(TEXT(INT(E13),"[DBNum2]"),"元整"),CONCATENATE(TEXT(INT(E13),"[DBNum2]"),"元",TEXT(MID(E13*100,LEN(E13*100)-1,1),"[DBNum2]"),"角",TEXT(RIGHT(E13*100,1),"[DBNum2]"),"分元整"))
[此贴子已经被作者于2007-3-6 22:03:18编辑过]
作者:
flydove
时间:
2007-4-6 19:10
這個什不行的。
作者:
clockx4
时间:
2007-8-15 17:43
好像有附件的吧?楼主1!
作者:
jsnjxb
时间:
2007-9-21 09:39
是否要用到公式
作者:
红池坝
时间:
2007-10-9 08:53
天啦,这个用公式很简单的,居然连VBA也使上了,用得着吗??
作者:
zhke
时间:
2007-12-4 07:12
收下好好学习,感激不尽啊
作者:
iiiiiiiiii
时间:
2007-12-7 00:45
学习学习
。
作者:
rogerwei
时间:
2007-12-8 20:37
其实最简单的方法是用搜狗拼音
作者:
yanglong030
时间:
2007-12-10 22:15
我试过了的,行的,,真的很棒,高手啊,,,谢谢了,
作者:
yanglong030
时间:
2007-12-12 09:17
我上次下的教程被我SHIFT+DELETE删了,,唉,,可惜啊,,是我的心血啊,,,现在只有重来下了,,,,
作者:
yanglong030
时间:
2007-12-17 09:02
怎么不行啊,我都试过了,,都可以的,
谢谢楼主了,
作者:
livewire
时间:
2007-12-30 10:59
Excel2003版: 设置格式为特殊格式, 中文大写.
作者:
BFLK
时间:
2008-3-5 14:57
用下面的函数
=IF(Round([A1],2)<0,"无效数值",IF(Round([A1],2)=0,"零",IF(Round([A1],2)<1,"",Text(Int(Round([A1],2)),"[dbnum2]") & "元") & IF(Int(Round([A1],2)*10)-Int(Round([A1],2))*10=0,IF(Int(Round([A1],2))*(Int(Round([A1],2)*100)-Int(Round([A1],2)*10)*10)=0,"","零"),Text(Int(Round([A1],2)*10)-Int(Round(A1,2))*10,"[dbnum2]") & "角") & IF((Int(Round([A1],2)*100)-Int(Round([A1],2)*10)*10)=0,"整",Text((Int(Round([A1],2)*100)-Int(Round([A1],2)*10)*10),"[dbnum2]") & "分")))
作者:
ytklhg
时间:
2008-4-2 17:40
谢谢楼主,很不错!学习了!
作者:
水仙
时间:
2008-4-3 16:24
=""&IF(
A6
<0,"负",)&TEXT(TRUNC(ABS(
A6
)),"[DBNum2]G/通用格式")&"元"&IF(ROUND(
A6
,3)=ROUND(
A6
,),"整",TEXT(RIGHT(TRUNC(
A6
*10),1),"[DBNum2]G/通用格式")&"角"&IF(ROUND(
A6
,3)=ROUND(
A
6,1),"整",TEXT(RIGHT(ROUND((
A6
*100),),1),"[DBNum2]G/通用格式")&"分"))
有颜色是引用的单元格,只要在引用单元格输入数值就可以自动生成大写!
希望大家成功!
作者:
wnsfzf
时间:
2009-7-6 07:32
不行的
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3