昱得資訊工作室
麻辣學園
歡迎光臨, 訪客. 請先 登入註冊一個帳號.
您忘了 啟用您的帳號嗎?
2008-07-24, 20:10:04
首頁 說明 登入 註冊 贊助論壇 想當作者?
新聞: 會員注意!!麻辣家族討論區[通用版規],請詳閱!!


+  麻辣家族討論區
|-+  MS Office 系列
| |-+  EXCEL
| | |-+  進階應用專區
| | | |-+  請問EXCEL可以找出中文字對應的注音符號嗎
0 會員 以及 1 訪客 正在閱讀本篇主題. « 上一篇主題 下一篇主題 »
頁: 1 [2] 向下 列印
作者 主題: 請問EXCEL可以找出中文字對應的注音符號嗎  (閱讀 3026 次)
hsieh
討論群板主
*
離線 離線

會員性別: 男
文章: 3750



Re: 請問EXCEL可以找出中文字對應的注音符號嗎
« 回覆文章 #10 於: 2007-04-02, 09:36:05 »

程式碼:
Function C_EN(mystr, mytype, dot1, dot2)
Dim kk$, test$, i%, s%
'函數說明
'自訂函數C_EN
  '此函數有3個引數mystr , 輸入一中文字串
'mytype指傳回之英文之大小寫狀況
'mytype=1傳回大寫之通用拼音之英文字串
'mytype=2傳回小寫之通用拼音之英文字串
'mytype=3傳回第一字大寫之通用拼音之英文字串
'dot1為輸出字串之姓與名分隔符號
'dot2為為輸出字串之名連接符號
Dim Arr()
For k = 1 To Len(Trim(mystr))
  test = Replace(Replace(Replace(Trim(TINTLGNTCode(Mid(mystr, k, 1))), "ˊ", ""), "ˇ", ""), "ˋ", "")
  If test <> "" Then
  Ans = WorksheetFunction.VLookup(test, [對照], 6)
  ReDim Preserve Arr(s)
  Select Case mytype
  Case 1
   Arr(s) = UCase(Ans)
  Case 2
   Arr(s) = LCase(Ans)
  Case 3
   Arr(s) = UCase(Mid(Ans, 1, 1)) & LCase(Mid(Ans, 2))
  End Select
   s = s + 1
  End If
Next
For i = UBound(Arr) To 1 Step -1
kk = Arr(i) & dot2 & kk
Next
C_EN = Arr(0) & dot1 & Left(kk, Len(kk) - Len(dot2))
End Function
疏失更正

[附件已被管理員刪除]
« 最後編輯時間: 2007-04-02, 10:46:06 由 hsieh » 已記錄

回答滿意嗎?
  記得告訴我哦!!
joviwang
高中生
*
離線 離線

會員性別: 男
文章: 115


Re: 請問EXCEL可以找出中文字對應的注音符號嗎
« 回覆文章 #11 於: 2007-04-02, 09:45:01 »

hsieh 前輩你好:
1、Ans = WorksheetFunction.VLookup(test, [對照], 5)
會對應到第5欄的漢語拼音,我把5改成6之後,好像Ucase沒反應,每個字都變大寫(原來的第6欄,每個字母都大寫)

2、謝謝。 -:)
已記錄
joviwang
高中生
*
離線 離線

會員性別: 男
文章: 115


Re: 請問EXCEL可以找出中文字對應的注音符號嗎
« 回覆文章 #12 於: 2007-04-02, 10:16:52 »

對不起,不是來灌水的。
Dim kk$, test$, i%, s%
'函數說明
'自訂函數C_EN
  '此函數有3個引數mystr , 輸入一中文字串
'mytype指傳回之英文之大小寫狀況
'mytype=1傳回大寫之通用拼音之英文字串
'mytype=2傳回小寫之通用拼音之英文字串
'mytype=3傳回第一字大寫之通用拼音之英文字串
'dot1為輸出字串之姓與名分隔符號
'dot2為為輸出字串之名連接符號
Dim Arr()
For k = 1 To Len(Trim(mystr))
  test = Replace(Replace(Replace(Trim(TINTLGNTCode(Mid(mystr, k, 1))), "ˊ", ""), "ˇ", ""), "ˋ", "")
  If test <> "" Then
  Ans = WorksheetFunction.VLookup(test, [對照], 6)
  ReDim Preserve Arr(s)
  Select Case mytype
  Case 1
   Arr(s) = UCase(Ans)
  Case 2
   Arr(s) = LCase(Ans)
  Case 3
   Arr(s) = UCase(Mid(Ans, 1, 1)) & LCase(Mid(Ans, 2))
  End Select
   s = s + 1
  End If
Next
For i = UBound(Arr) To 1 Step -1
kk = Arr(i) & dot2 & kk
Next
C_EN = Arr(0) & dot1 & Left(kk, Len(kk) - Len(dot2))
End Function


上列程式修改2個地方以符合小弟的需求:
1、Ans = WorksheetFunction.VLookup(test, [對照], 6)
原來的5,改成6(第6欄為通用拼音)。
2、Case 3
   Arr(s) = UCase(Mid(Ans, 1, 1)) & LCase(Mid(Ans, 2))
第2個字母以後,呈現小寫

謝謝hsieh 前輩。
已記錄
HUNGCHILIN
尊貴會員
*
離線 離線

會員性別: 男
文章: 35


不恥下問,不斷學習,才有進步空間


Re: 請問EXCEL可以找出中文字對應的注音符號嗎
« 回覆文章 #13 於: 2008-05-08, 23:28:16 »

這一篇在新windows系統下 已完全失效
已記錄
頁: 1 [2] 向上 列印 
« 上一篇主題 下一篇主題 »
跳到:  


本頁花了 2.26 秒, 以及 21 次的資料庫查詢.