VBA,怎样Excel单元格中字符串的最后一个空格

单元格A1、B1、C1、D1、E1、F1。。。。中的字符串,最后一位都是空格,现在需要用VBA写一段代码,使其自动去掉这些空格。怎样处理呢?

谢谢各位大侠~~

思路:

    1:给定一个区域

    2.循环区域,并判断最后一们是否为空格 

    3.是则删除空格(我的代码为直接提取除最后一位空格前面的字符)

代码如下:

Sub myleft()
arr = [A1:Z1] '设置区域A1~Z1
For i = 1 To UBound(arr, 2)    '进行循环
    If Right(arr(1, i), 1) = " " Then    判断最后一位是否空格
         Cells(1, i) = Left(arr(1, i), Len(arr(1, i)) - 1)    '是否重写单元格
    End If    
Next
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-10
如果仅是最后一位,可以使用下面代码。
s=range("a1")
range("a1")=left(s,len(s)-1)
其他的你自己补充。
第2个回答  推荐于2016-11-06
sub 去空格()
dim x as range
dim y as range
set y = application.inputbox(prompt:="选择需要去掉空格的单元格区域",type:=8)
for each x in y
x.value=TRIM(x.value)
next
end sub本回答被提问者采纳
第3个回答  2009-12-11
我想写个vba也可以的
写个循环
me.cells(i,j)=replace(me.cells(i,j)," ","")
这个是替换所有空格的,如果前面有空格也会替换掉
下面这个是去掉最后一位的
me.cells(i,j)=left(me.cells(i,j),len(me.cells(i,j))-1)

没做测试
第4个回答  2009-12-14
Option Explicit
Private Sub Temp()
Range("A1:F1").Replace _
What:=" ", _
Replacement:="", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
End Sub
相似回答