返回列表 上一主題 發帖

[發問] 是否有更適合字串的編輯修改呢?

回復 1# dechiuan999
試試  Replace 函數  與 Replace 方法  Application.WorksheetFunction.Replace 有點不一樣

Replace 函數 傳回一個字串,該字串中指定的子字串已被取代成另一子字串,並且取代發生的次數也是指定的。
語法   Replace(expression, find, replace[, start[, count[, compare]]])
Replace 函數語法有如下幾個指名引數:
單元 描述
expression 必要引數。字串運算式,包含要取代的子字串。
find 必要引數。要搜尋到的子字串。
replace 必要引數。用來取代的子字串。
start 選擇性引數。在運算式中子字串搜尋的開始位置。如果忽略,假定從1開始。
count 選擇性引數。子字串進行取代的次數。如果忽略,預設值是 –1,它表明進行所有可能的取代。
compare 選擇性引數。數字值,表示判別子字串時所用的比較模式。關於其值,請參閱「設定值」。

TOP

回復 3# dechiuan999
試試看

TEST.rar (9.67 KB)

TOP

回復 5# dechiuan999
可參考這篇
PS : 回文時  請按 [回覆] 按鈕  答覆你的人才會得到通知,

TOP

回復 7# dechiuan999
Replace 函數 的用法
  1. Sub Ex()
  2.     Dim W As String
  3.     W = "1ABCDE2ABCDE3ABCDE4ABCDE"
  4.     MsgBox Replace(W, "E", "?", , 1) & Chr(10) & _
  5.            Replace(W, "E", "?", 7) & Chr(10) & _
  6.            Replace(W, "E", "?", 13, 1)
  7. End Sub
複製代碼

TOP

回復 10# dechiuan999
  1. 'InStr 函數  傳回在某字串中一字串的最先出現位置,此位置為 Variant (Long)。
  2. Private Sub TextBox2_Change()
  3.     Dim xl As Integer, xText As String
  4.     xText = TextBox1   '字串=TextBox1
  5.     ComboBox1.Clear
  6.     Do While InStr(xText, TextBox2)
  7.         'While: 條件成立   執行回圈  ->  TextBox2字串在xText字串中最先出現位置 >1 => True成立,  0=>False 不成立
  8.         'Until: 條件不成立 執行回圈
  9.         ComboBox1.AddItem xl + 1
  10.         xl = xl + 1
  11.         xText = Mid(xText, InStr(xText, TextBox2) + Len(TextBox2))
  12.         '字串=剔除已出現位置的字元的字串  以避免無窮的迴圈
  13.         'InStr(xText, TextBox2) + Len(TextBox2) :最先出現位置+TextBox2的字元數
  14.     Loop
  15. End Sub
複製代碼

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題