我正在尝试在列(A:A)中的最后一个字符之前添加分号。
我想更改特定单元格中的值,例如GLA-12342至GLA-1234; 2
仅应在包含以下文本的单元格上执行此操作: GLA,GLX,GLV,GLY,GLC
那里有一些不错的VBA专家可以帮助我解决这个问题
我得到的是这个...
Sub Semikolon()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("A:A")
For Each cel In SrchRng
If InStr(1, cel.Value, "GLA") > 0 Then
' Can not figure out how to solve this...
End If
Next cel
End Sub
答案 0 :(得分:3)
您几乎明白了。只需使用Left$
和Right$
函数将字符串拆分到正确的位置即可。
我还建议仅将SrchRng
限制在使用的单元格上,以加快速度。
Option Explicit
Sub Semikolon()
Dim SrchRng As Range
Set SrchRng = Range("A1", Cells(Rows.Count, "A").End(xlUp))
Dim Cel As Range
For Each Cel In SrchRng
If InStr(1, Cel.Value, "GLA") > 0 Or _
InStr(1, Cel.Value, "GLX") > 0 Then 'add more or statements here
Cel.Value = Left$(Cel.Value, Len(Cel.Value) - 1) & ";" & Right$(Cel.Value, 1)
End If
Next Cel
End Sub