- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
22#
發表於 2010-10-17 19:18
| 只看該作者
本帖最後由 GBKEE 於 2010-10-17 19:24 編輯
回復 21# mycmyc
將程式碼複製到 一般模組 (Module) 物件中
工作表指令 [插入]->函數-> 使用者定義 -> Name_Defend 函數
Sub ReWord() 是在sheet1的A欄中尋找複姓- Dim GetEeWord As Object
- Function Name_Defend(Word As String) As String
- Dim N As String
- If Len(Word) < 2 Then Name_Defend = Word: Exit Function
- If GetEeWord Is Nothing Then ReWord
- If GetEeWord.Exists(Mid(Word, 1, 2)) And Len(Word) >= 3 Then
- Name_Defend = Mid(Word, 1, 2) & "x" & Mid(Word, 4, Len(Word) - 3)
- Else
- Name_Defend = Mid(Word, 1, 1) & "x" & Mid(Word, 3, Len(Word) - 2)
- End If
- End Function
- Sub ReWord()
- Dim E As Range
- Application.MacroOptions "Name_Defend", "隱藏姓名第二個字 林x正"
- Set GetEeWord = CreateObject("Scripting.Dictionary")
- For Each E In Sheet1.Range("A:A").SpecialCells(xlCellTypeConstants)
- GetEeWord(E.Value) = ""
- Next
- End Sub
複製代碼 |
|