返回列表 上一主題 發帖

[發問] 名字字數不同之取代問題(已解決)

回復 13# GBKEE
  能麻煩你 把公式即使用方法 貼出來嗎
HI

TOP

本帖最後由 GBKEE 於 2010-10-17 19:24 編輯

回復 21# mycmyc
將程式碼複製到 一般模組 (Module) 物件中
工作表指令 [插入]->函數-> 使用者定義 ->  Name_Defend 函數
Sub ReWord() 是在sheet1的A欄中尋找複姓
  1. Dim GetEeWord As Object
  2. Function Name_Defend(Word As String) As String
  3.     Dim N As String
  4.     If Len(Word) < 2 Then Name_Defend = Word: Exit Function
  5.     If GetEeWord Is Nothing Then ReWord
  6.     If GetEeWord.Exists(Mid(Word, 1, 2)) And Len(Word) >= 3 Then
  7.         Name_Defend = Mid(Word, 1, 2) & "x" & Mid(Word, 4, Len(Word) - 3)
  8.     Else
  9.         Name_Defend = Mid(Word, 1, 1) & "x" & Mid(Word, 3, Len(Word) - 2)
  10.     End If
  11. End Function
  12. Sub ReWord()
  13.     Dim E As Range
  14.     Application.MacroOptions "Name_Defend", "隱藏姓名第二個字   林x正"
  15.     Set GetEeWord = CreateObject("Scripting.Dictionary")
  16.     For Each E In Sheet1.Range("A:A").SpecialCells(xlCellTypeConstants)
  17.         GetEeWord(E.Value) = ""
  18.     Next
  19. End Sub
複製代碼

TOP

回復 20# onegirl0204
Function Name_Defend(Word As String) As String
      程式嗎中
If GetEeWord.Exists(Mid(Word, 1, 2)) And Len(Word) >= 3 Then
      Name_Defend = Mid(Word, 1, 2) & "O" & Mid(Word, 4, Len(Word) - 3)
Else
       Name_Defend = Mid(Word, 1, 1) & "O" & Mid(Word, 3, Len(Word) - 2)
End If

TOP

回復 23# GBKEE


非常感謝您的指導!我竟沒想到去巨集那裡找尋,雖然我不會寫指令,但是依您的指示去編輯修改倒是沒問題,下回測試您的方法可以應用在什麼方面?

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題