乔山办公网我们一直在努力
您的位置:乔山办公网 > office365 > 关于人民币大写中的“零”的处理!

关于人民币大写中的“零”的处理!

作者:乔山办公网日期:

返回目录:office365


可以通过输入法和公式的方式进行大写的转换,具体操作步骤如下:

工具/原材料

excel2016版、电脑。

1、打开电脑找到并点击excel2016版表格软件;

2、打开表格软件以后,可以通过在输入数字前加“v”的方式自动选择大写的金额;

3、选中B列的单元格以后,在编辑栏里输入下列公式:=IF(A1=0,"",IF(A1<0,"负","")&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(INT(ABS(A1)),"[DBNum2]")&"元"&TEXT(RIGHT(TEXT(A1,".00"),2),"[DBNum2]0角0分"),"零角零分","整"),"零分","整"),"零角","零"),"零元零",""))                                                                           

4、输入公式以后,此时同时按“ctrl+回车键”即可对B列的单元格进行公式的填充即可。



1050元的大写:壹仟零佰伍拾元整
这种写法不正确

应该写成:壹仟零伍拾元整
把中间的“佰”去掉就行了



7a64e78988e69d83336 a、单击“工具”--“宏”--“Visual Basic 编辑器”
  b、单击“Visual Basic 编辑器”菜单栏“运行”--“运行宏”
  c、输入宏名,如 "zh" ,单击“创建”
  d、键入以下代码:

  'a1为数字小写单元格,a2为中文大写单元格
  Const strN = "零壹贰叁肆伍陆柒捌玖"
  Const strG = "拾佰仟万亿"
  Const intN = "0123456789"

  Dim Zero_Count As Long '读零计数

  Private Function GetN(ByVal N As Long) As String
  GetN = Mid(strN, N + 1, 1)
  End Function

  Private Function GetG(ByVal G As Long) As String
  Select Case G
  Case 1
  GetG = ""
  Case 2, 6
  GetG = Mid(strG, 1, 1)
  Case 3, 7
  GetG = Mid(strG, 2, 1)
  Case 4, 8
  GetG = Mid(strG, 3, 1)
  Case 5
  GetG = Mid(strG, 4, 1)
  Case 9
  GetG = Mid(strG, 5, 1)
  End Select
  End Function

  Private Function ReadLongNumber(ByVal LongX As String) As String
  Dim numberx As String
  Dim l As Long '长度
  Dim m As Long '多余位数
  Dim c As Long '循环次数
  Dim i As Long, j As Long '标志
  Dim CurN As String

  numberx = LongX
  l = Len(numberx)
  Do Until l < 9
  m = l Mod 8
  If m = 0 Then m = 8
  CurN = Left(numberx, m)
  If ReadIntNumber(CurN) <> "零" Then
  ReadLongNumber = ReadLongNumber & ReadIntNumber(CurN) & "亿"
  Else
  ReadLongNumber = ReadLongNumber & "亿"
  End If
  numberx = Right(numberx, Len(numberx) - m)
  l = Len(numberx)
  Loop

  ReadLongNumber = ReadLongNumber & ReadIntNumber(numberx)

  If Len(ReadLongNumber) > 2 And Right(ReadLongNumber, 1) = "零" Then '去尾 零
  ReadLongNumber = Left(ReadLongNumber, Len(ReadLongNumber) - 1)

  End If

  If Mid(ReadLongNumber, 1, 2) = "壹拾" Then
  '掐头 壹拾
  ReadLongNumber = Right(ReadLongNumber, Len(ReadLongNumber) - 1)
  Mid(ReadLongNumber, 1, 1) = "拾"
  End If
  Zero_Count = 0
  End Function

  Private Function ReadIntNumber(ByVal numberx As String) As String
  Dim l As Long '长度
  Dim m As Long '多余位数
  Dim c As Long '循环次数
  Dim i As Long, j As Long '标志
  Dim CurN As String

  If Val(numberx) = 0 Then ReadIntNumber = GetN(0): Exit Function
  l = Len(numberx)
  If l > 8 Then Exit Function
  m = l Mod 9
  CurN = Right(numberx, m)
  For i = Len(CurN) To 1 Step -1
  If GetN(Int(Mid(CurN, i, 1))) = "零" And Zero_Count = 1 Then
  If GetG(Len(CurN) - i + 1) = "万" Then
  If (Not (Val(Left(CurN, Len(CurN) - 5)) = 0)) Then
  ReadIntNumber = GetG(Len(CurN) - i + 1) & ReadIntNumber
  End If
  End If
  Else
  If GetN(Int(Mid(CurN, i, 1))) = "零" Then
  ReadIntNumber = GetN(Int(Mid(CurN, i, 1))) & ReadIntNumber
  If GetG(Len(CurN) - i + 1) = "万" Then
  If (Not (Val(Left(CurN, Len(CurN) - 5)) = 0)) Then ReadIntNumber = GetG(Len(CurN) - i + 1) & ReadIntNumber
  End If
  Zero_Count = 1
  Else
  ReadIntNumber = GetG(Len(CurN) - i + 1) & ReadIntNumber
  ReadIntNumber = GetN(Int(Mid(CurN, i, 1))) & ReadIntNumber
  Zero_Count = 0
  End If
  End If
  Next i
  'Loop
  If Len(ReadIntNumber) > 2 And Right(ReadIntNumber, 1) = "零" Then
  '去尾 零
  ReadIntNumber = Left(ReadIntNumber, Len(ReadIntNumber) - 1)
  End If
  If Mid(ReadIntNumber, 1, 2) = "壹拾" Then
  '掐头 壹拾
  ReadIntNumber = Right(ReadIntNumber, Len(ReadIntNumber) - 1)
  Mid(ReadIntNumber, 1, 1) = "拾"
  End If
  End Function

  Public Function ReadNumber(ByVal numberx As String) As String
  Dim LongX As String
  Dim PointX As String
  Dim LongLong As Long
  Dim bFS As Boolean '负数

  If Not IsNumeric(numberx) Then
  ReadNumber = ""
  Exit Function
  End If

  If CDbl(numberx) < 0 Then
  numberx = -numberx
  bFS = True
  End If

  numberx = CStr(Format(numberx, "General Number"))

  LongLong = InStr(1, numberx, ".")

  If LongLong <> 0 Then
  ReadNumber = ReadLongNumber(Left(numberx, LongLong - 1))
  ReadNumber = ReadNumber & "点" & ReadSmallNumber(Right(numberx, Len(numberx) - LongLong))
  Else
  ReadNumber = ReadLongNumber(numberx)
  End If
  If bFS = True Then
  ReadNumber = "负" & ReadNumber
  End If
  End Function

  Private Function ReadSmallNumber(SmallNumber As String) As String
  Dim i As Long
  For i = 1 To Len(SmallNumber)
  ReadSmallNumber = ReadSmallNumber & GetN(Mid(SmallNumber, i, 1))
  Next i
  End Function

  Private Function ReadSmallNumberToRMB(SmallNumber As String) As String

  ReadSmallNumberToRMB = GetN(Mid(SmallNumber, 1, 1)) & "角" & GetN(Mid(SmallNumber, 2, 1)) & "分"
  End Function

  Public Function ReadNumberToRMB(ByVal numberx As String) As String
  Dim LongX As String
  Dim PointX As String
  Dim LongLong As Long
  Dim bFS As Boolean '负数
  If Not IsNumeric(numberx) Then
  ReadNumberToRMB = ""
  Exit Function
  End If
  If CDbl(numberx) < 0 Then
  numberx = -numberx
  bFS = True
  End If
  numberx = CStr(Format(numberx, "#.00"))
  LongLong = InStr(1, numberx, ".")
  If Right(numberx, Len(numberx) - LongLong) <> "" Then
  ReadNumberToRMB = ReadLongNumber(Left(numberx, LongLong - 1))

  ReadNumberToRMB = ReadNumberToRMB & "元" & ReadSmallNumberToRMB(Right(numberx, Len(numberx) - LongLong))
  Else
  ReadNumberToRMB = ReadLongNumber(numberx)
  End If
  If bFS = True Then
  ReadNumberToRMB = "负" & ReadNumberToRMB
  End If
  End Function

  Sub zh()
  Range("a2") = ReadNumberToRMB(Range("a1"))
  End Sub

相关阅读

  • 关于人民币大写中的“零”的处理!

  • 乔山办公网office365
  • 可以通过输入法和公式的方式进行大写的转换,具体操作步骤如下:工具/原材料excel2016版、电脑。知1、打开电脑找到并点击excel2016版表格软件;2、打开表格软件以后道,可以通过在输
  • 如何将word里的大写全部替换成小写

  • 乔山办公网office365
  • 如是英文字母,你这样做:比如输入了abedefg后,你选定abcdefg后,按键盘上的shift+f3键,它会在首个字母大写,全部小写,全部大写之间进行转换的。1、打开进入word软件,然后在Word文档
  • 怎么取消word的自动变大小写

  • 乔山办公网office365
  • word2003中 你要修改自动更正选项。点“工具”--“自动更正选项”,在自动更正标签中,将相关字母大写的选项去掉就可以了在WPS中 字体栏的 更改大小写里,改。1、打开一个文件输入
关键词不能为空
极力推荐
  • 如何在win7中设置word文档的背景颜色

  • 如何在百Word中设置行度的背景颜色可以参照问百度经验《word中如何答添加版整行底纹颜色?》权:http://jingyan.baidu.com/article/915fc4149a269e51394b2020.htmlwin7系统下调节窗口背景颜色设置方法:

ppt怎么做_excel表格制作_office365_word文档_365办公网