我想使用替换功能仅替换MID单元格中出现的确切位置,而不是所有出现的位置。
前任。我想替换位置六(第一次出现)的###in +++++###****###,而不是第二个。
For Each c In .Columns(3).Cells
If c.Value = "" Then
Else
Do While Len(c.Value) < 20
c.Value = c.Value & " "
Loop
transNum = Mid(c.Value, 6, 3)
c.Value = Replace(c.Value, Mid(c.Value, 6, 3), "")
c.Value = "0" & transNum & c.Value
End If
y.Sheets(1).Range("E" & c.Row) = y.Sheets(1).Range("E" & c.Row) & c.Value
Next c
Run Code Online (Sandbox Code Playgroud)
小智 5
Mid既是一个语句又是一个函数。使用语句版本来做你想做的事。Mid分别作为语句和函数在 help 中。
C = "CatDog"
Mid(C, 2) = "Fr"
MsgBox C
Run Code Online (Sandbox Code Playgroud)
中期声明
将 Variant(字符串)变量中指定数量的字符替换为另一个字符串中的字符。
句法
Mid(stringvar, start[, length]) = 字符串
语句语法包含以下部分
Mid:stringvar必需。要修改的字符串变量的名称。启动 必填;变体(长)。stringvar中文本替换开始的 字符位置 。
长度可选;变体(长)。要替换的字符数。如果省略,则使用所有字符串。
字符串必填。替换部分 stringvar 的字符串表达式。
评论
替换的字符数始终小于或等于 stringvar 中的字符数。
注意 使用包含
MidB在字符串中的字节数据的语句。在该MidB语句中,start 指定 stringvar 中替换开始的字节位置,length 指定要替换的字节数。