用VBA把Excel表格中所有的英文字母实现大小写转换
execle表格小写转换为大写的公式
题目:如何使用公式将Excel表格中的小写字母转换为大写字母在Excel表格中,有时候我们需要将一些包含小写字母的单元格内容转换为大写字母。
虽然Excel提供了大写函数来实现这一功能,但却无法直接对单元格中的小写字母进行转换。
我们可以通过编写公式来实现这一功能。
下面我将介绍如何使用公式将Excel表格中的小写字母转换为大写字母,希望对您有所帮助。
1. 使用PROPER函数在Excel表格中,可以使用PROPER函数来将一个字符串中的每个单词的首字母大写。
虽然这个函数并不能直接将小写字母转换为大写字母,但我们可以将其与其他函数结合使用,来实现我们的目的。
我们可以创建一个辅助列,将需要转换的单元格内容放入该列中。
使用PROPER函数将小写字母转换为大写字母,并将结果输出到另一个列中。
具体公式如下:假设需要转换的单元格内容为A1,则在B1单元格中输入以下公式:=PROPER(A1)这样,B1单元格中的内容就会将小写字母转换为大写字母。
2. 使用EXACT函数和UPPER函数除了使用PROPER函数外,还可以结合使用EXACT函数和UPPER函数来实现将小写字母转换为大写字母的功能。
在一个辅助列中,我们可以利用EXACT函数来判断单元格中的内容是否为小写字母。
EXACT函数可以比较两个文本字符串是否完全相同,如果完全相同则返回TRUE,否则返回FALSE。
具体公式如下:假设需要转换的单元格内容为A1,则在C1单元格中输入以下公式:=EXACT(A1, UPPER(A1))这样,C1单元格中的内容将返回TRUE或FALSE,判断单元格中的内容是否为小写字母。
接下来,我们可以利用IF函数来根据C1单元格中的结果来执行相应的操作。
如果C1为TRUE,则说明该单元格内容为小写字母,我们可以使用UPPER函数将其转换为大写字母,具体公式如下:假设需要转换的单元格内容为A1,则在D1单元格中输入以下公式:=IF(C1, UPPER(A1), A1)这样,D1单元格中的内容将根据C1单元格的结果来进行相应的转换操作。
在Excel2007中让单元格内容小写转为大写
在Excel2007中让单元格内容小写转为大写
打开一份Excel表格,发现很多单元格内容都是英文小写的,有些需要大写的地方不大写,搞的很不正规。
那么,有没有什么办法能将小写内容批量转为大写形式呢?当然有,下面,小编就来告诉大家方法。
案例教程
①启动Excel2007,打开表格,看到D列里面都是小写形式的,我们需要将其转为大写形式,在单元格输入下面的函数公式:=upper(D2)。
②公式输入完成,大家切记,要是在英文半角状态下输入,回车,
得到结果SOHO中国。
③鼠标移动到该单元格右下角,出现+号,双击,填充整个数据区域。
公式意义
upper(单元格):将小写字母转为大写字母。
将D2单元格中的小写字母转为大写的字母。
VBA数字转换英文货币大写
《VBA数字转换英文货币大写》使用说明:本程序可在各种支持VBA语言的软件上直接使用,其中MS Excel和MS Access已成功测试。
(把程序复制到VBA编程器里即可直接使用)程序使用方法如下图:程序:Public Function CUSA(ByVal MyNumber, Optional MyCri As Integer)Dim Dollars, Cents, Cents2, TempDim DecimalPlace, CountReDim Place(9) As StringPlace(2) = ("Thousand" + " ")Place(3) = ("Million" + " ")Place(4) = ("Billion" + " ")Place(5) = ("Trillion" + " ")MyNumber = Trim(Str(MyNumber)) ' String representation of amount.DecimalPlace = InStr(MyNumber, ".") ' Position of decimal place 0 if none.If DecimalPlace > 0 Then ' Convert cents and set MyNumber to dollar amount.Cents2 = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))Cents = Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2)MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))If Temp <> "" Then Dollars = Temp & Place(Count) & DollarsIf Len(MyNumber) > 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3)ElseMyNumber = ""End IfCount = Count + 1LoopIf MyCri = 1 Then '英文大写全写Select Case DollarsCase ""Dollars = ""Case "One "Dollars = "One Dollar"Case ElseDollars = Dollars & "Dollars"End SelectSelect Case Cents2Case ""If Dollars <> "" ThenCents2 = " Only"ElseCents2 = ""End IfCase "One"If Dollars <> "" ThenCents2 = " And One Cent"ElseCents2 = "One Cent"End IfCase ElseIf Dollars <> "" ThenCents2 = " And" & (" " + Cents2) & "Cents"ElseCents2 = Cents2 & "Cents"End IfEnd SelectCUSA = Dollars & Cents2ElseIf MyCri = 0 Then '英文大写略写Select Case DollarsCase ""Dollars = ""Case "One"Dollars = ""Case ElseDollars = DollarsEnd SelectSelect Case CentsCase ""If Dollars = "" ThenElseCents = "And " & "00/100"End IfCase "01"If Dollars = "" ThenCents = Cents2 & "Cent"ElseCents = "And " & Cents & "/100"End IfCase ElseIf Dollars = "" ThenCents = Cents2 & "Cents"ElseCents = "And " & Cents & "/100"End IfEnd SelectCUSA = Dollars & CentsEnd IfEnd FunctionPublic Function GetHundreds(ByVal MyNumber) ' Converts a number from 100-999 into text Dim result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" & MyNumber, 3)If Mid(MyNumber, 1, 1) <> "0" Then ' Convert the hundreds place.result = GetDigit(Mid(MyNumber, 1, 1)) & "Hundred "End IfIf Mid(MyNumber, 2, 1) <> "0" Then ' Convert the tens and ones place.result = result & GetTens(Mid(MyNumber, 2))Elseresult = result & GetDigit(Mid(MyNumber, 3))End IfGetHundreds = resultEnd FunctionPublic Function GetTens(TensText)Dim result As Stringresult = "" ' Null out the temporary function value.If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...Select Case Val(TensText)Case 10: result = ("Ten" + " ")Case 11: result = ("Eleven" + " ")Case 12: result = ("Twelve" + " ")Case 13: result = ("Thirteen" + " ")Case 14: result = ("Fourteen" + " ")Case 15: result = ("Fifteen" + " ")Case 16: result = ("Sixteen" + " ")Case 17: result = ("Seventeen" + " ")Case 18: result = ("Eighteen" + " ")Case 19: result = ("Nineteen" + " ")Case ElseEnd SelectElse ' If value between 20-99...Select Case Val(Left(TensText, 1))Case 2: result = ("Twenty" + " ")Case 3: result = ("Thirty" + " ")Case 4: result = ("Forty" + " ")Case 5: result = ("Fifty" + " ")Case 6: result = ("Sixty" + " ")Case 7: result = ("Seventy" + " ")Case 8: result = ("Eighty" + " ")Case 9: result = ("Ninety" + " ")Case ElseEnd Selectresult = result & GetDigit _(Right(TensText, 1)) ' Retrieve ones place.End IfGetTens = resultEnd FunctionPublic Function GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = ("One" + " ")Case 2: GetDigit = ("Two" + " ")Case 3: GetDigit = ("Three" + " ")Case 4: GetDigit = ("Four" + " ")Case 5: GetDigit = ("Five" + " ")Case 6: GetDigit = ("Six" + " ")Case 7: GetDigit = ("Seven" + " ")Case 8: GetDigit = ("Eight" + " ")Case 9: GetDigit = ("Nine" + " ")Case Else: GetDigit = ""End SelectEnd Function。
如何在Excel中将大写字母转换为小写字母
如何在Excel中将大写字母转换为小写字母在使用Excel进行数据处理和运算时,经常会遇到需要将大写字母转换为小写字母的情况。
虽然Excel本身没有提供直接转换的功能,但我们可以通过一些技巧和函数来实现这一需求。
本文将介绍两种常用的方法,分别是使用公式和使用VBA宏。
一、使用公式实现转换1. 使用LOWER函数LOWER函数是Excel提供的一个文本函数,用于将文本中的大写字母转换为小写字母。
我们可以借助LOWER函数来实现将大写字母转换为小写字母的功能。
具体操作步骤如下:(1)打开Excel,新建一个工作表,在A1单元格输入大写字母。
(2)在B1单元格中输入以下公式:=LOWER(A1)。
(3)按下回车键,B1单元格将显示A1单元格中大写字母转换为小写字母后的结果。
这种方法简单易行,并且不需要额外的设置和操作,可以方便地实现大写字母转换为小写字母的需求。
2. 使用EXACT函数和UPPER函数除了LOWER函数,还可以使用EXACT函数和UPPER函数的组合来实现大写字母转换为小写字母的功能。
具体操作步骤如下:(1)打开Excel,新建一个工作表,在A1单元格输入大写字母。
(2)在B1单元格中输入以下公式:=IF(EXACT(A1,UPPER(A1)),LOWER(A1),A1)。
(3)按下回车键,B1单元格将显示A1单元格中大写字母转换为小写字母后的结果。
这种方法利用EXACT函数判断单元格中的字母是否为大写字母,再结合IF函数和LOWER函数进行条件判断和转换,同样可以实现大写字母转换为小写字母的功能。
二、使用VBA宏实现转换如果需要频繁进行大写字母转换为小写字母的操作,使用VBA宏也是一个很好的选择。
具体操作步骤如下:(1)按下ALT+F11,打开VBA编辑器。
(2)在VBA编辑器中,插入一个新的模块。
(3)在新的模块中,输入以下VBA代码:```Sub ConvertUppercaseToLowercase()Dim cell As RangeFor Each cell In Selectioncell.Value = LCase(cell.Value)Next cellEnd Sub```(4)保存并关闭VBA编辑器。
excel小技巧如何快速将小写字母变为大写字母
excel小技巧如何快速将小写字母变为大写字母
在工作中,有时候我们需要将小写的字母的拼音转换为大写字母的拼音,那么该怎么操作呢?
1.打开“人事档案表”数据表,如图所示,含有“员工姓名”及"姓名拼音(小写)“相关信息,我们需要将姓名拼音(小写)下的小写拼音变为大写拼音。
2.在“姓名拼音(小写)”右边的单元格输入“姓名拼音(大写)”,然后按住鼠标左键往下拉到表格底部。
选中该列,如图所示:
3.单击鼠标右键,选择“设置单元格格式(F)",单击确定,进入单元格格式对话框。
单击选择边框选项下预置下的外边框(O)和内部(I),然后单击确定,为”姓名拼音(大写)“加上边框。
4.单击“姓名拼音(大写)”列下的第一个单元格,选中该单元格,然后在单元格内输入公式=UPPER(B3),按enter键,即可将第一个员工姓名的小写拼音变为大写,如图所示。
单击选中第一个员工姓名拼音大写,将鼠标放在该单元格右下角,当鼠标变为实心+时,按住鼠标左键不放往下拉到表格底部,即可将所有员工姓名的小写拼音变为大写拼音。
如图所示:。
excel英文大小写转换公式
excel英文大小写转换公式
Excel中有许多实用的公式,其中包括大小写转换。
无论您需要将文本全部转换为大写、小写,或者只是首字母大写,Excel都可以帮助您完成。
以下是几种常见的大小写转换公式:
1. 将文本全部转换为大写
如果您需要将文本全部转换为大写,可以使用以下公式:
=UPPER(A1)
其中,A1是您要转换的单元格。
2. 将文本全部转换为小写
如果您需要将文本全部转换为小写,可以使用以下公式:
=LOWER(A1)
同样,A1是您要转换的单元格。
3. 仅将单词首字母转换为大写
如果您只需要将单词的首字母转换为大写,可以使用以下公式: =PROPER(A1)
同样,A1是您要转换的单元格。
4. 将文本转换为交替大小写
如果您需要将文本转换为交替大小写,可以使用以下公式:
=IF(MOD(ROW(),2)=0,LOWER(A1),UPPER(A1))
这个公式将每一行的文本转换为交替大小写。
如果需要将整个单元格转换为交替大小写,可以将该公式拖动到需要的单元格。
以上是几种常用的大小写转换公式,您可以根据需要选择使用。
无论您是需要将文本全部转换为大写、小写,还是只需要将单词首字母大写,Excel都可以轻松帮助您完成。
VBAExcel常用自定义函数
VBAExcel常用自定义函数1. 将互换 Excel 列号(数字/字母)Public Function excelColumn_numLetter_interchange(numOrLetter) As String Dim i, j, idx As IntegerDim letterArrayletterArray = Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z')If IsNumeric(numOrLetter) ThenIf numOrLetter > 702 ThenMsgBox '只允许输入小于“703”的数字。
'Exit FunctionEnd IfIf numOrLetter > 26 Thenidx = 26For i = 0 To 25For j = 0 To 25idx = idx + 1If idx = numOrLetter ThenexcelColumn_numLetter_interchange = letterArray(i) & letterArray(j)Exit ForEnd IfNext jNext iElseexcelColumn_numLetter_interchange = letterArray(numOrLetter - 1)End IfElsenumOrLetter = UCase(numOrLetter) '转换为大写If Len(numOrLetter) > 1 And Len(numOrLetter) < 3 Thenidx = 26For i = 0 To 25For j = 0 To 25idx = idx + 1If letterArray(i) & letterArray(j) = numOrLetter ThenexcelColumn_numLetter_interchange = idxExit ForEnd IfNext jNext iElseIf Len(numOrLetter) = 1 ThenFor i = 0 To 25If letterArray(i) = numOrLetter ThenexcelColumn_numLetter_interchange = i + 1Exit ForEnd IfNext iElseMsgBox '最多只允许输入2个“字母”。
excel 字母大小写函数
excel 字母大小写函数
Excel中有许多函数可以帮助我们处理数据,其中一个非常有用的函数就是字母大小写函数。
这个函数可以将文本中的字母全部转换成大写或小写,让我们更便捷地进行数据处理和分析。
在Excel中,字母大小写函数有两个,分别是UPPER和LOWER函数。
它们的使用方法非常简单,只需要在函数中输入需要转换大小写的文本即可。
例如,我们想将单元格A1中的文本全部转换成大写字母,可以使用以下公式:
=UPPER(A1)
同样的,如果我们想将单元格A1中的文本全部转换成小写字母,可以使用以下公式:
=LOWER(A1)
另外需要注意的一点是,这两个函数只会处理文本中的字母,其他符号和数字不会受到影响。
因此在使用时需要特别注意,并且可以在函数外面加上其他函数来进一步处理数据。
总之,字母大小写函数是Excel中十分实用的函数之一,可以帮助我们更快速地处理数据。
希望大家在使用时能够熟练掌握,提高工作效率。
- 1 -。
如何在Excel中使用UPPER函数将字符串中的字母转换为大写
如何在Excel中使用UPPER函数将字符串中的字母转换为大写Excel是一款功能强大的电子表格软件,可以进行各种数据处理和操作。
在Excel中,可以使用函数来实现对数据的处理和转换。
其中,UPPER函数是一个常用的函数,它可以将字符串中的字母转换为大写。
本文将介绍如何在Excel中使用UPPER函数来实现这一功能。
首先,我们需要在Excel中打开一个表格,并在某个单元格中输入需要转换为大写的字符串。
假设我们要将字符串"AaBbCc"转换为大写字母。
在另一个单元格中,我们需要输入函数公式。
在本例中,我们将在单元格B1中输入函数公式。
在B1单元格中,输入以下公式:=UPPER(A1)然后按下回车键,Excel将会自动将A1单元格中的字符串转换为大写。
在我们的例子中,B1单元格将显示"AABBCC"。
如果我们想要对多个字符串进行转换,可以将函数公式拖动到其他单元格上。
例如,如果我们想要将A2、A3、A4单元格中的字符串转换为大写,可以将B1单元格的公式拖动到B2、B3、B4单元格上。
这样,Excel会自动根据相对位置为每个单元格生成相应的公式。
UPPER函数还可以与其他函数结合使用,以实现更复杂的转换和处理。
例如,我们可以使用UPPER函数将字符串转换为大写后,再与其他函数一起使用。
假设我们要将字符串"AaBbCc"转换为大写,并在每个字符之间插入一个空格。
我们可以使用以下公式实现:=SUBSTITUTE(UPPER(A1), "", " ")在这个公式中,首先使用UPPER函数将A1单元格中的字符串转换为大写。
然后使用SUBSTITUTE函数将每个字符之间的空字符("")替换为一个空格字符(" ")。
这样,B1单元格将显示"A A B B C C"。
如何在Excel中把小写字母更改为大写字母
如何在Excel中把小写字母更改为大写字母在一列中输入一系列的英文单词。
比如,你可以输入名字、艺术家、食品等任何内容。
不用管所输入文字的大小写,由于UPPERCASE和PROPER函数稍后就会进行更正。
牢靠来源Microsoft Support前往来源在输入的数据右边插入一列。
假如旁边已经有一个空白列,那就跳过这一步。
否则,右键点击数据列上方的列字母,然后选择插入。
之后可以随时删掉这一列,所以不用担忧它把你当前的电子表格搞乱了。
点击新建列中的第一个单元格。
也就是你要大写的第一个单元格右边的单元格。
点击 fx。
这是数据上方的函数按钮。
随后会绽开“插入函数”窗口。
从菜单选择文本类别。
这样会显示与处理文本相关的Excel函数。
从列表选择 UPPER。
这个函数会把全部的字母都转换为大写。
假如你只想把姓名或单词的首字母大写,那就改为选择PROPER。
你也可以用LOWER函数把全部字母都转换为小写。
点击确定。
现在,你会在从前点击的单元格中看到“UPPER()”。
同时还会消失“函数参数”窗口。
突出显示你想转换成大写字母的单元格。
假如你想让一列内容都变成大写,那就直接点击数据上方的列字母。
选定的单元格四周会消失一条虚线,同时范围也会消失在“函数参数”窗口中。
假如你使用的是PROPER函数,那就选择全部你想把首字母转换为大写的单元格;无论你使用哪种功能,详细步骤都是一样的。
点击确定。
现在,新建列的第一个单元格中就会消失它左边单元格中的单词,而且字母全都变成了大写。
双击包含公式的单元格的右下角,也就是你插入的那一列顶部的单元格。
双击单元格底部的圆点后,公式就会被应用到该列中的其余单元格,从而显示左边一列单词的全大写版本。
假如双击右下角没胜利,你也可以按住这个角,然后始终往下拖到最终一个数据单元格。
复制新建列中的内容。
比如,包含已将原始数据转换成全大写字母的新建列是B列,那就右键点击这一列上方的B,然后选择复制。
用复制的列掩盖原始数据。
【Excel教程】英文字母大小写转化,阿拉伯数字转罗马数字
有时工作中大小写母需要规范,如下图:
小写字母需要转化成大写字母
大写字母需要转化成小写字母
阿拉伯数字转化成罗马数字
虽然看起来很简单,但如果你不知道用什么函数,也会很麻烦,今天我们就来学习三个函数。
UPPER:
功能:
小写字母转大写
语法:
UPPER(text)
功能:
大写字母转小写
语法:
LOWER(text)
功能:
阿拉伯数字转化罗马数字
语法:
ROMAN(number, [form])
form省略,默认转化为上述例子中的效果。
以上前两个函数均只针对文本中的字母进行转化。
讲到这里,文章开头的例子你就应该知道怎么做了吧!当然实际的例子中可能需要配合left、right、mid等函数使用。
比如A1中为:iphone7plus
我们需要的格式是:iphone7PLUS
公式:=left(A1,7)&upper(right(A1,4))。
如何才能轻松转换Excel表格里英文的大小写
如何才能轻松转换Excel表格里英文的大小写
不少人说英文输入很麻烦,每句话开头首字母要大写,简称得全部大写等等。
要是你用Excel,只需要一个函数就能帮你轻松转换大小写!一起来瞧瞧吧。
以下是店铺为您带来的关于轻松转换Excel里英文的大小写,希望对您有所帮助。
轻松转换Excel里英文的大小写
1 用Excel打开一篇工作表,选中我们需要存放结果的单元格,并切换到“公式”选项卡,单击“文本”按钮,然后在弹出的下拉框中选择“UPPER”。
选择UPPER函数
2 此时会弹出一个“函数参数”对话框,我们在“Text”文本框中输入需要转换的英文,也可以是某个已经输入英文的单元格名称,然后单击“确定”按钮。
完善UPPER函数
3 好了,我们回到Excel中就可以查看英文转换成大写的效果了。
转换成大写的效果图
二、如果我们需要转换成适当的大小写格式
将上述第一个步骤中的选择“UPPER”改成选择“PROPER”,第二步不变,如下图所示。
选择PROPER函数
完善PROPER函数
适当大小写转换效果
提示:通常情况下,这里所谓的适当的大小写指的就是首字母大写。
当然,如果你还想将某些英文全部转换成小写的话,在第一个步骤中选择“LOWER”即可。
VB录入字母大写自动转换成小写及小写自动转换成大写
VB录入字母大写自动转换成小写及小写自动转换成大写
要自动转换大小写,很多人首先想到的一定是 UCase$ 及 LCase$,但是要使用这二个函数,一定不可以在Key_Press 事件中使用,否则您若输入《abc》,结果却变成《CBA》,为什么呢?
因为当您输入 a 之后,UCase$ 会替您转换成 A,但是转换完后,滑鼠的游标会停在 A 的前面,您继续输入 b,变成了 bA,UCase$ 又替您转换成 BA,转换完后,滑鼠的游标又停在 BA 的前面,您继续输入c,变成了cBA,UCase$ 又替您转换成CBA!若您不相信,可以自己试试
在Key_Press 中正确的作法,是判断它的参数KeyAscii !a 的Asc 值是 97,A 的 Asc 值是 65,所以要自动将小写转成大写,写法如下:
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii >= 97 And KeyAscii <= 122 Then
KeyAscii = KeyAscii - 32
End If
相反的,自动将大写转换成小写:
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii >= 65 And KeyAscii <= 90 Then
KeyAscii = KeyAscii + 32
End If。
表格内数字自动生成英文大写的方法
表格内数字自动生成英文大写的方法在处理表格数据时,有时我们需要将数字自动生成英文大写,这在商业文件、合同和财务报表等场合非常常见。
那么,我们应该如何高效地实现这一功能呢?我们可以通过使用公式来自动生成数字的英文大写。
在Excel中,可以使用“VBA宏”或者“自定义函数”来编写相应的公式,来实现这一功能。
在Microsoft Word中,也可以使用宏来实现。
一、Excel中自动生成英文大写在Excel中,我们可以通过VBA宏来实现数字自动生成英文大写的功能。
下面是一个简单的VBA宏示例:```VBAFunction NumToWords(ByVal MyNumber)Dim Dollars, Cents, TempDim DecimalPlace, CountReDim Place(9)Place(3) = " Thousand "Place(6) = " Million "Place(9) = " Billion "MyNumber = Trim(Str(MyNumber))DecimalPlace = InStr(MyNumber, ".")If DecimalPlace > 0 ThenCents = GetTens(Left(Right(MyNumber, Len(MyNumber) - DecimalPlace - 1), 2))MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))If Temp <> "" Then Dollars = Temp Place(Count) Dollars If Len(MyNumber) > 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3)Else: MyNumber = ""End IfCount = Count + 1LoopSelect Case DollarsCase ""Dollars = "No Dollars"Case "One"Dollars = "One Dollar"Case ElseDollars = Dollars " Dollars"End SelectSelect Case CentsCase ""Cents = " and No Cents"Case "One"Cents = " and One Cent"Case ElseCents = " and " Cents " Cents"End SelectNumToWords = Dollars CentsEnd FunctionFunction GetHundreds(ByVal MyNumber)Dim Result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" MyNumber, 3)If Mid(MyNumber, 1, 1) <> "0" ThenResult = GetDigit(Mid(MyNumber, 1, 1)) " Hundred " End IfIf Mid(MyNumber, 2, 1) <> "0" ThenResult = Result GetTens(Mid(MyNumber, 2, 2))ElseResult = Result GetDigit(Mid(MyNumber, 3, 1))End IfGetHundreds = ResultEnd FunctionFunction GetTens(TensText)Dim Result As StringResult = ""If Val(Left(TensText, 1)) = 1 Then Select Case Val(TensText)Case 10: Result = "Ten"Case 11: Result = "Eleven"Case 12: Result = "Twelve"Case 13: Result = "Thirteen" Case 14: Result = "Fourteen" Case 15: Result = "Fifteen"Case 16: Result = "Sixteen"Case 17: Result = "Seventeen" Case 18: Result = "Eighteen" Case 19: Result = "Nineteen" Case ElseEnd SelectElseSelect Case Val(Left(TensText, 1))Case 3: Result = "Thirty "Case 4: Result = "Forty "Case 5: Result = "Fifty "Case 6: Result = "Sixty "Case 7: Result = "Seventy "Case 8: Result = "Eighty "Case 9: Result = "Ninety "Case ElseEnd SelectResult = Result GetDigit(Right(TensText, 1)) End IfGetTens = ResultEnd FunctionFunction GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = "One"Case 2: GetDigit = "Two"Case 3: GetDigit = "Three"Case 4: GetDigit = "Four"Case 5: GetDigit = "Five"Case 6: GetDigit = "Six"Case 8: GetDigit = "Eight"Case 9: GetDigit = "Nine"Case Else: GetDigit = ""End SelectEnd Function```如果在Excel的单元格中,我们输入公式“=NumToWords(1234)”,就可以得到“One Thousand Two Hundred Thirty Four Dollarsand No Cents”这样的结果。
VB中字母大小写转换的三种方法
VB中字母大小写转换的三种方法方法一:用VB的函数LCase和UCase用三个TextBox来展现一下这两个函数的大小写转换功能[运行之前在TextBox1中输入几个大写字母,也可混合输入]:PrivateSubCommand1_Click()Text2.Text=LCase(Text1.Text)'将Text1的文本全换成小写Text3.Text=UCase(Text2.Text)'将Text1的文本全换成大写EndSub说明:LCase仅将是大写的转换为小写,UCase则仅将是小写的转换为大写,故当字符串中有其它不符合转换的内容时将对其忽略。
可以在TextBox1中输入汉字、阿拉伯数字等观察效果。
方法二:用API函数user32提供两个用于大小写转换的API函数:Charlower[大写-小写]、Charupper[小写-大写],其原形分别为:DeclareFunctionCharLowerLib"user32"Alias"CharLowerA"(ByVallpszAsString)AsLongDeclareFunctionCharUpperLib"user32"Alias"CharUpperA"(ByVallpszAsString)AsLong继续用三个文本框来观察效果:PrivateSubCommand1_Click()DimaAsStringa=Text1.Text'给变量赋初值CharUppera'变为大写Text2.Text=aCharLowera'变为小写Text3.Text=aEndSub说明:与方法一的效果完全一样。
实际上,VB的LCase和UCase函数调用的也就是这两个API函数,是封装了这两个API函数的内部函数。
方法三:用算法可以利用Ascii码对大小写字母字符代码的定义来强制输入的字母只能为大写的或者小写的,而不管CapsLock键是打开的还是关闭的。
一个公式搞定Excel中单词首字母大写
Excel有时要输入一些英语单词,一开始输入没注意可能都是小写的,如果首字母需要大写,可能第一反应是会一个一个单词来改,这样工作量比较大,还容易出错。
其实有一个简单的方法,只用一个公式就可以进行英文单词首字母的大写,这个方法快捷,且不容易出错。
一拉就可以把所有英文单词的首字母改成大写了。
具体步骤如下:
1、选择Excel中是要首字母大写的英文单词。
2、在B1单元格,输入公式 =PROPER(A1)。
3、回车后,就可以看到B1格的单词的首字母变成了大写,在把B1的移动到A1即可。
VBA数字转换中文货币大写
VBA数字转换中文货币大写《VBA数字转换中文货币大写》使用说明:本程序可在各种支持VBA语言的软件上直接使用,其中MS Excel 和MS Access已成功测试。
(把程序复制到VBA编程器里即可直接使用)程序使用方法如下图:程序:Public Function CRMB(ByVal StrRMB As String) As StringDim i As Long, k As Long, j As Long, N As LongDim RMB As String, intString As String, decString As String, tmpString() As String, cnNumber() As String, cnUnit() As String On Error GoTo cnstr_err:'初始化中文数字、单位cnNumber = Split("零,壹,贰,叁,肆,伍,陆,柒,捌,玖", ",")cnUnit = Split("分,角,元,拾,佰,仟,万,拾,佰,仟,亿,拾,佰,仟,兆,拾,佰,仟,京,拾,佰,仟,垓,拾,佰,仟", ",") decString = ""intString = StrRMBtmpString = Split(StrRMB, ".")If UBound(tmpString) ThenintString = tmpString(0)decString = tmpString(1)End IfintString = intString & Left(decString & "00", 2) k = Len(intString) - 1If k > 25 Then 'Len(cnUnit) - 1RMB = StrRMB '超出转换范围,返回原值ElseIf Val(intString) = 0 ThenRMB = ""ElseFor i = 0 To kj = Val(Mid(intString, i + 1, 1))RMB = RMB & cnNumber(j) & cnUnit(k - i) Next i RMB = Replace(RMB, "零分", "零")RMB = Replace(RMB, "零角", "零")RMB = Replace(RMB, "零拾", "零")RMB = Replace(RMB, "零佰", "零")RMB = Replace(RMB, "零仟", "零")RMB = Replace(RMB, "零零零", "零")RMB = Replace(RMB, "零零", "零")RMB = Replace(RMB, "零元", "元")RMB = Replace(RMB, "零万", "万")RMB = Replace(RMB, "零亿", "亿")RMB = Replace(RMB, "零兆", "兆")RMB = Replace(RMB, "零京", "京")RMB = Replace(RMB, "零垓", "垓")RMB = Replace(RMB, "垓京兆亿万", "垓")RMB = Replace(RMB, "垓京兆亿", "垓")RMB = Replace(RMB, "京兆亿万", "京")RMB = Replace(RMB, "垓京兆", "垓")RMB = Replace(RMB, "京兆亿", "京")RMB = Replace(RMB, "兆亿万", "兆")RMB = Replace(RMB, "垓京", "垓")RMB = Replace(RMB, "垓兆", "垓")RMB = Replace(RMB, "垓亿", "垓")RMB = Replace(RMB, "垓万", "垓")RMB = Replace(RMB, "京兆", "京")RMB = Replace(RMB, "京亿", "京")RMB = Replace(RMB, "京万", "京")RMB = Replace(RMB, "兆亿", "兆")RMB = Replace(RMB, "兆万", "兆")RMB = Replace(RMB, "亿万", "亿")If Right(RMB, 2) = "元零" Then '整元时RMB = Left(RMB, Len(RMB) - 1) & "整"ElseIf Right(RMB, 2) = "角零" Then '有角或分时RMB = Left(RMB, Len(RMB) - 1)End IfEnd Ifcnstr_exit: CRMB = RMB Exit Function cnstr_err:RMB = "" Resume cnstr_exit End Function。