2018-excel表格函数英语翻译-word范文模板 (10页)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
== 本文为word格式,下载后可方便编辑和修改! ==
excel表格函数英语翻译
篇一:201X版Word & Excel 菜单栏中英文对照表
201X版Word &Excel 菜单栏中英文对照表
WORD
EXCEL
篇二:用VBA制作Excel翻译程序
用VBA制作Excel翻译程序。
目的:由于经常进行日文Excel文档的翻译,所以希望用编写VBA程序能让机器自动翻译一部分,并且有中日对译表可以自己编辑和修改。
Lib是中日对译表名。
UserForm是用户界面,以下有选择要翻译表名的选项,“日翻中”、“中翻日”、“中日对译表维护”等三个按键。
功能一览:
1 程序的调用。
2 应用界面。
3 对译表的建立。
4 每一个单词的替换(可用宏录制)
5 更换下一个单词,直到所有单词都替换完成,需要循环语句。
(难点)
5.1 更换关键字。
(不知怎么会出错,说下标越界,不能排错。
卡在这里了)
5.2 换成下一个关键字,用循环语句。
(还没做到这一步,有一定难度,不过应该能解决吧)
6 问题出现:单词替换时,不能Ctrl+Z返回上一步状态。
防止替换错误,需要提前备份。
(现在先不管这一步了,先把程序做出来再说)
编程设计:
我写了一下VBA,但是试运行时出现下标越界的报错,但不知怎么纠错。
请各位大侠帮忙!!!
Private Sub UserForm1_tran()
MsgBox "程序测试开始!"
Sheets("Temp").Cells(1, 1).Value = 1
'Temp是要处理的文档,可改名。
'Lib是字典库。
'Do
Dim MyRange As Range
MyRange = Sheets(lib).Range("A1")
Sheets(temp).Cells("A2") = Sheets(lib).Range(MyRange).Value
'If ActiveSheet.Cells(1, 6).Value = "" Then
'Quit
'End If
'变量的使用:错误方式:n=单元格的值;另一个值等于=n。
'正确方式:n=单元格的位置,另一个单元格的值=n位置的值。
'Dim n
'n = Sheets(lib).Cells("A3") 'A3
'Debug.Print a(i, 1) & " " & a(i, 2)
'Loop
'选择翻译的范围
'进行替换
'注意保证字符编码正确
'条件循环,将整个对译表的对应翻译全部替换。
' Range("C5").Select
' Selection.Copy
' With Application.ReplaceFormat.Font
' .Name = "宋体"
' .Subscript = False
' End With
' Cells.Replace What:="プロジェクト", Replacement:="项目",
LookAt:=xlPart, _
' SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
' ReplaceFormat:=True
TextBox1.Value = "程序测试完毕!"
MsgBox "日翻中已执行完毕!"
End Sub
'已完成步骤:过程的代入;文本框、消息框的试用;表值的赋值;注释的加入;
'未完成的步骤:变量的使用;表格的替换;字体编码的确保;条件循环语句的使用;能够恢复;要翻译文件的选择;
问题补充:程序是凭自己水平尽力做出来的,高手可以帮忙揪一下错,如果看
不懂也可以将程序重新设计一下。
谢谢!
希望各位帮忙的兄弟也可以拿一下具体的代码上来,谢谢!
对我有用[0] 丢个板砖[0] 引用举报管理 TOP 回复次数:4
wang405
等级:
#1楼得分:0回复于:201X-10-04 20:46:36我花了近一个小时给你又是写又是测试,终于弄出来了你要的.代码不长,但基本是你要的.
Sub fanyi()
On Error GoTo fanyierr
Dim cn As String '中文
Dim ji As String '日文
Dim myrange As Range '用户选择区域
Set myrange = Application.InputBox("请选择需要翻译的单元格区域:", "选择", Type:=8)If Not myrange Is Nothing Then
n = Sheets("中日表").UsedRange.Rows.Count
'中日表中A列日文,B列中文
If n = 1 Then Exit Sub
If MsgBox("你是否要执行文件翻译功能?", 32 + vbYesNo, "询问") = vbYes ThenSheets("原文").Copy Before:=Sheets("原文")
= "备份" & Format(Date, "YY-MM-DD") & Format(Time, " hh nn ss") '日期+时间不会重复
For i = 2 To n
ji = Sheets("中日表").Range("A" & i)
cn = Sheets("中日表").Range("B" & i)
myrange.Interior.ColorIndex = 3
myrange.Replace What:=ji, Replacement:=cn, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next i
End If
End If
Sheets("原文").Select
MsgBox "翻译成功,翻译前的文件已经为您备份", 68 + vbOKOnly, "OK"
Exit Sub
fanyierr:
MsgBox err.Description, 16, "Err"
End Sub[code=VB][/code]
对我有用[0] 丢个板砖[0] 引用举报管理 TOP 精华推荐:同时问其他OO高手:我的类该怎样安排
wang405
等级:
#2楼得分:0回复于:201X-10-04 20:49:05VB code对了那个添加颜色的标
记你把他放到替换程序的后面
Sub fanyi()
On Error GoTo fanyierr
Dim cn As String '中文
Dim ji As String '日文
Dim myrange As Range '用户选择区域
Set myrange = Application.InputBox("请选择需要翻译的单元格区域:", "选择", Type:=8) If Not myrange Is Nothing Then
n = Sheets("中日表").UsedRange.Rows.Count
'中日表中A列日文,B列中文
If n = 1 Then Exit Sub
If MsgBox("你是否要执行文件翻译功能?", 32 + vbYesNo, "询问") = vbYes Then Sheets("原文").Copy Before:=Sheets("原文")
= "备份" & Format(Date, "YY-MM-DD") & Format(Time, " hh nn ss") '日期+时间不会重复
For i = 2 To n
ji = Sheets("中日表").Range("A" & i)
cn = Sheets("中日表").Range("B" & i)
myrange.Interior.ColorIndex = 3
myrange.Replace What:=ji, Replacement:=cn, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False,
_ReplaceFormat:=False
Next i
End If
End If
Sheets("原文").Select
MsgBox "翻译成功,翻译前的文件已经为您备份", 68 + vbOKOnly, "OK"
Exit Sub
fanyierr:
MsgBox err.Description, 16, "Err"
End Sub
篇三:Excel将数字翻译成英文的宏定义详解
Excel将阿拉伯数字翻译成英文,自动识别小数点,自动大小写,按国际惯例
翻译,十和个之间加“-”,百和十之间加“and”
首先要自定宏,在excel201X里面工具栏可直接看到,在201X和201X按以下方法打开:
点Excle选项,
然后勾选“在功能区显示“开发工具选项卡“。
此时在功能区就能看到,开发工具了。
然后点击Visual Basic进入
点击插入
选择插入模块,默认为模块一
在此对话框中输入自定义程序,然后直接关闭,如我们定义函数名为SpellNumber,在Excle中即开直接调用此函数,注意要在而excel设置中启用“宏”哦,小伙伴们可以自己编程实现excle所有工作了,快去试试吧(如有疑问可联系:张小觉qq367315133)
附两段程序供参考:
不带单位的直译:
Function SpellNumber(ByVal MyNumber)
Dim Dollars, Cents, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Application.Volatile True
Place(2) = " Thousand "
Place(3) = " Million "
Place(4) = " Billion "
Place(5) = " Trillion " ' String representation of amount
MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none DecimalPlace = InStr(MyNumber, ".")
'Convert cents and set MyNumber to dollar amount
If DecimalPlace > 0 Then
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "000",
3))MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do While MyNumber <> ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
Case Else
Dollars = Dollars
End Select
Select Case Cents
Case ""
Cents = " and No Cents"
Case "One"
Cents = " and One Cent"
Case Else
Cents = " Point " & Cents
End Select
SpellNumber = Dollars & Cents
End Function
'*******************************************
' Converts a number from 100-999 into text *
'*******************************************
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3) 'Convert the hundreds place If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred and "
End If
'Convert the tens and ones place
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function
'*********************************************
' Converts a number from 10 to 99 into text. *
'*********************************************
Function GetTens(TensText)
Dim Result As String
Result = "" '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 Else
End Select
Else' If value between 20-99Select Case Val(Left(TensText, 1)) Case 2: Result = "Twenty-"。