作者:乔山办公网日期:
返回目录:excel表格制作
自定知义函数,借道用VLOOKUP函数。回
宏代码答如下:
Public Function MyFun(rng1 As Range) As String
Dim Len_rng1 As Integer
Dim aa As String
aa = ""
Len_rng1 = Len(rng1.Value)
For i = 1 To Len_rng1
A1 = Mid(rng1.Value, i, 1)
If aa = "" Then aa = Application.WorksheetFunction.VLookup(A1, Sheet2.Range("A:B"), 2, False) Else aa = aa & " " & Application.WorksheetFunction.VLookup(A1, Sheet2.Range("A:B"), 2, False)
Next
MyFun = aa
End Function
第一步:创建自定义抄函数。袭代码如下:
Function pinyin(p As String) As String
i = Asc(p)
Select Case i
Case -20319 To -20318: pinyin = "a "
省略(因有百字数限制)
Case -10254 To -10254: pinyin = "zuo "
Case Else: pinyin = p
End Select
End Function
Function getpy(str)
For i = 1 To Len(str)
getpy = getpy & pinyin(Mid(str, i, 1))
Next i
End Function
第二步:在A列输入度汉字。问如图:答
第三步:在B列输入公式。如图:
软件版本:Office2013
方法如下:
1.Alt+F11,打开百VBA编辑界面,插入模块度,在模块中输入如下代码:
Function pinyin(p As String) As String
i = Asc(p)
Select Case i
Case -20319 To -20318: pinyin = "a "
……(受字数限制,中间部分省略)专
Case -10254 To -10254: pinyin = "zuo "
Case Else: pinyin = p
End Select
End Function
Function py(x)
For i = 1 To Len(x)
py = py & pinyin(Mid(x, i, 1))
Next i
End Function
2.回到Excel中,属输入公式如下:
=py(A1)
3.下拉填充得到结果如下: