我想使用VBA操作一些Excel工作表。我已经设法将数据复制到适当的单元格,但现在我需要删除一系列单元格中第一个空格后出现的一些字符。
我不知道列中的最后一个单元格编号,所以我必须先找出该单元格编号是什么。
这是单元格中数据的示例:
IT - 信息技术
IB6 - 信息业务
我想离开:
IT
IB6
并删除其余的单元格内容。这是我正在使用的脚本:
Dim strCoIDFull As String
Dim strCoIDShrt As String
'remove characters after the first blank space in column M 'Department Code'
LastRow = Cells(Rows.Count, 13).End(xlUp).Row
strCoIDFull = Range("M22:M" & LastRow).Value
strCoIDShrt = Left(CompanyIDFull, InStr(strCoIDFull, " ") - 1)
Range("M22:M" & LastRow).Value = strCoIDShrt
VBA代码的这一部分不起作用,对我出错的地方有什么想法或更好的解决方案?
答案 0 :(得分:0)
有两个问题:
(1)以下一行
strCoIDShrt = Left(CompanyIDFull, InStr(strCoIDFull, " ") - 1)
可能需要更改为
strCoIDShrt = Left(strCoIDFull, InStr(strCoIDFull, " ") - 1)
(2)完成上述操作后,您可能会在所有其他行中获得M22的截断值。那是因为你错过了一个循环。您需要遍历行以截断每行和每个字符串。有关循环的更多信息,您可能需要查看以下链接: http://www.homeandlearn.org/excel_vba_for_loops.html
答案 1 :(得分:0)
你真正需要的是:
Dim LastRow As Long
LastRow = Cells(Rows.Count, "M").End(xlUp).Row
Range("M22:M" & LastRow).Replace what:=" *", replacement:="", lookat:=xlPart