VBA,Excel中怎样剪切指定单元格中最后一个空格前的所有内容?

比如Cells(2,1)中有内容"track width norm f1",我要将"track width norm"剪切到另一个单元格Cells(2,2)中?
或者删除最后一个空格后的所有内容?不要公式,只要VBA语句
感谢!

dim tmp as string
tmp=cells(2,1).value
cells(2,2).value=Left(tmp, InStrRev(tmp, " ") - 1)
cells(2,1).value=Right(tmp,Len(tmp)-InstrRev(tmp," "))

 以上代码实现了最后一个空格前的字符“剪切”至另一单元格的效果。

执行后Cells(2,1)中内容为:"f1" Cells(2,2)中内容为:"track width norm"

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-26
Cells(2, 2) = StrReverse(Right(StrReverse(Cells(2, 1)), Len(Cells(2, 1)) - InStr(1, StrReverse(Cells(2, 1)), " ")))

第2个回答  2013-11-26
Sub Test()
Cells(2, 2).Value = myEg(Cells(2, 1).Value)
End Sub
Function myEg(myStr As String) As String
Dim I As Integer, L As Integer
L = Len(myStr)
For I = 1 To L
If Mid(myStr, L - I, 1) = " " Then
myEg = Left(myStr, L - I - 1)
Exit For
End If
Next
End Function
第3个回答  2013-11-26
Sub try()
For i = Len(Cells(2, 1)) To 1 Step -1
If Mid(Cells(2, 1), i, 1) = " " Then
Cells(2, 2) = Left(Cells(2, 1), i - 1)
Exit For
End If
Next
End Sub
第4个回答  2013-11-26
dim x
x="track width norm f1"
spx=spit(x," ")
cells(2,2)=replace(x,spx(ubound(spx)),"")

VBA,Excel中怎样剪切指定单元格中最后一个空格前的所有内容?
dim tmp as stringtmp=cells(2,1).valuecells(2,2).value=Left(tmp, InStrRev(tmp, " ") - 1)cells(2,1).value=Right(tmp,Len(tmp)-InstrRev(tmp," ")) 以上代码实现了最后一个空格前的字符“剪切”至另一单元格的效果。执行后Cells(2,1)中内容为:"f1" Cells(2,2)中内容为:"tr...

Excel中用vba删除特定字符后面的所有内容
1) For i = 1 To n x = InStr(arr(i, 1), "组") If x > 0 Then arr(i, 1) = Left(arr(i, 1), x) Next i Range("f1").Resize(n, 1) = arrEnd Sub

Excel 如何清空指定单元格区域全部内容的VBA
1、新建一个EXCEL工作表,而后打开,在下方工作表标签位置,就是sheet1的地方,点击鼠标右键,而后在弹出的选项卡里面找到查看代码 2、点击查看代码,而后会弹出EXCEL支持的后台代码VBA界面,我们我们可以看到左侧是我们的工作表标签,而后右边就是代码窗口 3、我们在sheet1的右侧代码窗口,输入代码,这里的...

EXCEL中如何提取某单元格最后一个空格之前的所有字符,每个单元格空格数...
最简单的办法:1、首先自定义一个函数,代码如下:--- Option Compare TextFunction FrSpace(ByVal rng As Range, ByVal T As String)'函数的名称自定义为“FrSpace”Dim i%, k%, str$, Position%, CountSpace%Dim Arr() As Stringk = 0str = rngFor i = 1 To Len(str)If Mid(st...

excel提取单元格内某字符后面一位的数据全部提取出来 用vba实现
Sub TEST()Dim arr1() As String Dim arr2() As String Dim txt1, txt2, txt3 As String For i = 1 To Range("A65536").End(xlUp).Row arr1() = Split(Cells(i, 1), "张三")If UBound(arr1) > 0 Then For a = 1 To UBound(arr1)txt1 = txt1 & Left(arr1(a), 1...

VBA,怎样Excel单元格中字符串的最后一个空格
1:给定一个区域 2.循环区域,并判断最后一们是否为空格 3.是则删除空格(我的代码为直接提取除最后一位空格前面的字符)代码如下:Sub myleft()arr = [A1:Z1] '设置区域A1~Z1For i = 1 To UBound(arr, 2) '进行循环 If Right(arr(1, i), 1) = " " Then 判断最后一位...

求大神帮忙:excel中怎么批量删除表格中某个汉子前面的所有字符以及后面...
这个需要用到VBA编写一个自定义函数,你按alt键不放然后按F11键打开VB编辑器 插入一个模块,然后输入以下代码 Function 提取(str1 As String, str2 As String, Optional i As Integer = 1)Application.Volatile Dim rex As Object, met Set rex = CreateObject("vbscript.regexp")With rex .Global ...

如何用VBA删除Excel表中单元格中的空格
一:WorksheetFunction.Trim 方法 删除文本中的所有空格(除了单词之间的单个空格外)。对于从其他应用程序中获取带有不规则空格的文本,可以使用 TRIM。语法:表达式.Trim(Arg1)表达式 一个代表 WorksheetFunction 对象的变量。二:LTrim 及 RTrim 函数将某字符串的开头及结尾的空格全部去除。事实上只使用 Trim...

excel VBA 如何取到有内容的最后一列和最后一行
在Excel VBA中,快速定位到数据表的最后一列和最后一行的操作相当直观。首先,打开你的数据表,找到任意一个单元格。紧接着,同时按下Ctrl键和向下箭头(↓),这会瞬间定位到最后一行。然后,再使用Ctrl键和向上箭头(↑),你会回到表格的顶部,即首行。接着,按下Ctrl键和向右箭头(→),你将移动...

ExcelVba如何删除指定单元格内的内容
手动删除法,先选中黄色区域,然后按delete键 vba自动删除法 Sub 删除指定区域内容()Range("B2:H33").ClearEnd Sub

相似回答
大家正在搜