1.请高手写一段EXCEL代码:数字大小的对比
Sub 自动计算()
Dim n, x As Integer '定义数字变量
Columns("E:H").Select: Selection.ClearContents
Range("B5").Select
For x = 4 To 10000
If Cells(x, 2) = "" And Cells(x, 4) = "" Then Exit For
If Cells(x, 2) > Cells(x, 4) Then Cells(x, 5) = 1
If Cells(x, 2)
2.excel中数字大小写转换
我正在写,写好发给你。
QQ394901158 写好了,是大写转小写的,以下是代码 Public b(1 To 12) As Integer Const dx = "壹贰叁肆伍陆柒捌玖" Sub 转换() Dim strtemp As String, yi As String, wang As String, jie As String Dim 第一个不为零 As Boolean, i As Integer, j As Integer, m As Integer Const fj = "亿万元" For i = 1 To 12 b(i) = 0 Next i Sheets("sheet1").Range("K7:V7").ClearContents strtemp = Sheets("sheet1").Cells(6, 2) For i = 1 To Len(fj) If InStr(1, strtemp, Mid(fj, i, 1)) <> 0 Then a = InStr(1, strtemp, Mid(fj, i, 1)) Call 分解(Left(strtemp, a - 1), i) strtemp = Right(strtemp, Len(strtemp) - a) End If Next i Const fjj = "角分" For j = 1 To Len(fjj) If InStr(1, strtemp, Mid(fjj, j, 1)) <> 0 Then a = InStr(1, strtemp, Mid(fjj, j, 1)) b(10 + j) = InStr(1, dx, Left(strtemp, 1)) strtemp = Right(strtemp, Len(strtemp) - a) End If Next j For m = 1 To 12 If 第一个不为零 = False And b(m) >= 1 Then 第一个不为零 = True Sheets("sheet1").Cells(7, 9 + m) = "¥" Sheets("sheet1").Cells(7, 10 + m) = b(m) ElseIf 第一个不为零 Then Sheets("sheet1").Cells(7, 10 + m) = b(m) End If Next m End Sub Function 分解(strtemp As String, jie As Integer) Const fj = "千百拾" Dim se As String '数额 Dim s_Num As Integer For i = 1 To Len(fj) If InStr(1, strtemp, Mid(fj, i, 1)) <> 0 Then a = InStr(1, strtemp, Mid(fj, i, 1)) se = Left(strtemp, a - 1) If se = "" Then se = "壹" If Len(se) > 1 Then s_Num = InStr(1, dx, Right(se, 1)) Else s_Num = InStr(1, dx, se) End If If jie = 1 Then b(i - 2) = s_Num ElseIf jie = 2 Then b(i + 2) = s_Num ElseIf jie = 3 Then b(i + 6) = s_Num End If strtemp = Right(strtemp, Len(strtemp) - a) If strtemp = "" Then Exit Function End If Next i If Len(strtemp) = 2 Then If jie = 1 Then b(2) = InStr(1, dx, Right(strtemp, 1)) ElseIf jie = 2 Then b(6) = InStr(1, dx, Right(strtemp, 1)) Else b(10) = InStr(1, dx, Right(strtemp, 1)) End If ElseIf Len(strtemp) = 1 Then If jie = 1 Then b(2) = InStr(1, dx, strtemp) ElseIf jie = 2 Then b(6) = InStr(1, dx, strtemp) Else b(10) = InStr(1, dx, strtemp) End If End If End Function 在B7单元格输入大写的金额,回车后,在小写框中会自动转换过来。 注意大写的数字必须是“壹贰叁肆伍陆柒捌玖”中的文字,比如:伍拾,不能写成五拾。
“亿万千百拾”不能是“亿万仟佰拾”。
3.2012Excel怎么使用数字转大写代码
你是要设置单元格小写自动转换成大写的的吗?不用代码也可以呀
假如在A1输入数值,想在B1自动转换成大写的,可以这样设置:
第一步:在B1那里右键“数字”“特殊”选择“中文大写数字”
第二步:在B1右键“数字”“自定义”选择“[DBNum2][$-804]G/通用格式”,假如你想在前面加“人民币(大写)”之类的就在“[DBNU。.]”前面直接输入就可以了,同理,后面的就直接在后面输入就可以。
第三步:在B1输入公式"=SUM(A1)” 这样就可以全部自动更换了
4.Excel数字怎么转换为中文大写
一、单元格格式法
选中那些数字所在的单元格,点击右键,在弹出菜单中选择“设置单元格格式”命令,打开“设置单元格格式”对话框。点击“数字”选项卡,在左侧的“分类”列表中选择“特殊”,然后在右侧的“类型”列表中点击“中文大写数字”,如图1所示。确定后就可以了。若点击上方的那个“中文小写数字”,可以得到“一十二亿三千四百五十六万七千八百九十”。很简单吧?
图1:选择“中文大写数字”
二、函数更正法
在Excel中还有一个隐含的函数可以解决这个问题。比如A1单元格中是数字“1234567890”,那么我们只要在其它单元格中输入公式“=NUMBERSTRING(A1,2)”。回车后就可以得到“壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾”了。如果我们将第二个参数“2”改成“1”或者“3”,那么我们就会得到“一十二亿三千四百五十六万七千八百九十”和“一二三四五六七八九○”。
再假如这个问题不是发生在Excel中,而是在Word表格中,那又该如何处理呢?当然,一种选择是将表格数据复制到Excel中,转换好了之后再复制到Word表格中。不过,我们还可以选择直接在Word中完成此项任务的。
选中表格中的数字“1234567890”,点击功能区“插入”选项卡“符号”功能组“编号”按钮,打开“编号”对话框。在“编号类型”列表中选择“壹,贰,叁”项目,如图2所示,确定后就可以得到“壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾”了。如果在列表中选中“一,二,三”项目,那么可以得到“一十二亿三千四百五十六万七千八百九十”。
图2:选择“壹,贰,叁”项目
当然,如果您有域的编辑感兴趣的话,还可以在域符号中直接输入域代码“= 1234567890 * CHINESENUM3”,或“= 1234567890 * CHINESENUM2”,然后按下“Alt+F9”快捷键,就可以分别得到“一十二亿三千四百五十六万七千八百九十”或“壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾”了。要是输入域代码“= 1234567890 * CHINESENUM3”,按下““Alt+F9”快捷键”就可以得到“一二三四五六七八九○”了。也挺简单的。
5.excel数字大小写转换
大写的话如果是角后面不是要带整字吗?好像分才不用。你先确定一下,如果角要带整的话公式里有两个地方有“角”,改第一个就可以,以下默认单元格A1为数字金额栏,具休位置有变把A1改一下就好:
=IF(INT(A1)*100=A1*100,"人民币"&TEXT(INT(A1),"[DBNum2]")&;"元整",IF(INT(A1*10)=A1*10,"人民币"&TEXT(INT(A1),"[DBNum2]")&;"元"&TEXT(A1*10-INT(A1)*10,"[DBNum2]")&;"角","人民币"&TEXT(INT(A1),"[DBNum2]")&;"元"&IF(INT(A1*10)=INT(A1)*10,"零",TEXT(RIGHT(INT(A1*10)),"[DBNum2]")&;"角")&TEXT(RIGHT(A1*100),"[DBNum2]")&;"分")
)
6.excel表格中的大写数字后面带小数点怎么转换中文大写
比如说在表格中输入12.326然后转换成中文大写"壹拾贰点叁贰陆.回答列表在同一单元格中,再次输入不同的数字,中文大写也跟着变化。
特别说明,此单元格的数字不是金额,只是普通带小数点的数字,小数点后有一至四位小数.晕,没见过。问题:在Excel表格中,怎样将带小数点的小写数字转换成中文大写?比如说在表格中输入12.326然后转换成中文大写"壹拾贰点叁贰陆. 在同一单元格中,再次输入不同的数字,中文大写也跟着变 一、在输入的当前单元格直接转换,没有现成的格式函数。
但通过VBA代码还是能够实现的。(VBA代码我在后面讲) 如果想简单一点的话,通过相玲单元格转换大写还是方便一点。
如果在 A1 输入小写,就在 B1 输入如下公式:=IF(A1>0,SUBSTITUTE((TEXT(A1,"[DBnum2]")),".","点"),IF(A1<0,"负"&SUBSTITUTE((TEXT(ABS(A1),"[DBnum2]")),".","点"),"")) 上面的公式中考虑了输入负数和零的问题,如不考虑负数和零,公式可以简化如下:=IF(A1>0,SUBSTITUTE((TEXT(A1,"[DBnum2]")),".","点"),"") 二、如果你坚持要在输入数据的单元格中直接转换中文大写,只好用VBA程序代码了,只是比较烦。代码如下:Private Sub Worksheet_Change(ByVal aa As Range) On Error GoTo error If aa.Column = 1 Then Select Case aa Case Is > 0 aa = Replace(Application.Text(aa, "[DBnum2]"), ".", "点") Case Is < 0 aa = "负" & Replace(Application.Text(Abs(aa), "[DBnum2]"), ".", "点") Case Is = 0 aa = "" End Select End If error: Exit Sub End Sub 说明:1。
我说的代码实际上是用Execl自带的VBA编程语言编制的一个小程序。这个程序在你打开工作表的时候已在后台准备运行,当工作表中某个单元格内容发生变化时马上运行。
在程序运行中程序会自动判别,还在第一列的单元格中输入的小写数字都转换成中文大写,在其他单元格中输入的数字不转换大写。程序是在后台运行的,在工作表窗口是看不见的,只能看见程序运行后的结果。
在工作表的单元格中不能设置这些程序代码。程序代码只能在VBA编码窗口中编制。
打开VBA编程窗口的方法有好几种,这里只说一种。在已打开的工作表中,右击您要转换中文大写的工作表标签,在弹出的菜单中选择查看代码,这时VBA编码窗口已打开。
把上面的代码输入到代码窗口中。当然可以用复制的方法把代码复制过去,这样不容易错。
最后关闭代码窗口,自动回到工作表窗口。这时你在A1中输入数字试试看,是否得到中文大写的效果。
2。在上面程序代码中, 已设置为在工作表的第一列任何单元格中输入小写的数字都会马上转换成大写。
其它单元格中输入的数据不会转换。如想在其它列的单元格中转换数据,请修改第三行代码------Column = 1---- 中的数字。
数字1代表第一列,数字2代表第二列,依次类推。3。
如果不考虑负数、零等情况的话,代码可以简化如下:Private Sub Worksheet_Change(ByVal aa As Range) If aa.Column = 1 Then aa = Replace(Application.Text(aa, "[DBnum2]"), ".", "点") End If End Sub 采用简化代码的情况下,输入的数字必须 >0 ,如果输入 <=0 的数字会有意想不到结果。因为代码中没有处理0和<0数字的语句。
请凉解。五、上面的公式和程序代码只解决特定问题的,不要直接用于人民币大小写的转换。
请多提意见!问题己解决 你用替换功能呀。这个适合大批量的转换。
没有这样的功能吧.这很容易呀,在Excel中就有这样的转换。选择要转换的数据,或者先在单元格中进行设置,右键/设置单元格格式,选择数字选项卡,选择左边的分类为特殊,然后选择右边的类型为中文大写数字,确定即可。
如此设置小数点的"."不能转换成"点". 在maya123215的回答的基础上,再“查找-替换”嘛,把“.”换成“点”。maya123215老师用的方法: 右键->设置单元格格式->数字->特殊->数字中文大写 是最简单及常用的方法 由于单元格的内容仍然是数字 12.326, 并非文本格式“壹拾贰点叁贰陆”, 故miaowu老师提议用“查找-替换”嘛,把“.”换成“点”是不可行的 故我提议用以下的公式:假设A1是 12.326 在任何一格输入公式:=SUBSTITUTE(TEXT($A$1,"[DBNum2][$-804]G/通用格式"),".","点") 便会出现 壹拾贰点叁贰陆 由于中文大写主要是作金额, 单位是 元/角/分 公式变成:=TEXT(INT(A1),"[DBNum2][$-804]G/通用格式")&"元"&IF((INT(A1*10)-INT(A1)*10)=0,"",TEXT(INT(A1*10)-INT(A1)*10,"[DBNum2][$-804]G/通用格式")&"角")&IF(INT(A1*100)-INT(A1*10)*10=0,"",TEXT(INT(A1*100)-INT(A1*10)*10,"[DBNum2][$-804]G/通用格式")&"分") 便会出现 壹拾贰元叁角贰分 注意: 此公式会将小数后第三个位舍去, 如公式要求四舍五入进位, 公式内所有 A1 要改成ROUND(A1,2), 公式便要长很多 呵呵,很好用,但有一个问题,假如小数点后面出现零,就不正确了,如6968.05,就变成了:陆仟玖佰陆拾捌元伍分,但实际需要的是:陆仟玖佰陆拾捌元零伍分,如何实现。
7.Excel中的金额怎么转换大小写
1、首先在我们的电脑桌面上新建一个excel表格并点击它。
2、然后随便输入一串字符。
3、接着右击这个单元格并点击设置单元格格式。
4、然后点击左侧的特殊。
5、接着点击人民币大写并点击确定。
6、通过以上操作,我们就把数字变成了人民币大写了。
转载请注明出处育才学习网 » excel数字大小代码怎么写