如何使用VBA删除字符串中的最后一个字符?

时间:2017-08-16 13:56:18

标签: excel excel-vba vba

在下面这个例子中我想删除" B"使用VBA。因此,我从B5:F50下载了垃圾邮件的这些值,并且最终都有" B"。我的问题是双重的。 A)有没有办法删除" B"使用VBA并在相同的单元格中替换这些值? B)或者必须在新的细胞中?

select distinct salary from employee order by salary desc limit nth, 1;

2 个答案:

答案 0 :(得分:0)

代码就像这样

Sub test()
    Dim rngDB As Range, vDB
    Dim s As String, i As Integer, j As Integer

    Set rngDB = Range("b5:f50")
    vDB = rngDB
    r = UBound(vDB, 1)
    c = UBound(vDB, 2)
    For i = 1 To r
        For j = 1 To c
            s = vDB(i, j)
            s = Left(s, Len(s) - 1)
            vDB(i, j) = s
        Next j
    Next i
    rngDB = vDB

End Sub

或者

Sub test2()
    Dim rngDB As Range        
    Set rngDB = Range("b5:f50")
    rngDB.Replace "B", "", lookat:=xlPart

End Sub

答案 1 :(得分:0)

我能看到的最简单(最短)的方法是使用搜索/替换,但这是假设所有单元格以B结尾而B不合法地出现在其他地方细胞。

Sheets("YourSheetNameHere").Range("B5:F50").Replace What:="B", Replacement:="", LookAt:=xlPart

或者,你可以循环遍历每个单元格RIGHT / LEN等但是为什么要这么麻烦呢?