Excel VBA代码中间函数 [英] Excel VBA code mid function
本文介绍了Excel VBA代码中间函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下字符串"123-456789".我想做的是找到一种方法,仅捕获第二个空格后的其余字符-"456789"-不管字符串的长度如何.
I have the following string "123 - 456789". What I am trying to do is find a way to only capture the remaining characters after the second space - "456789" - regardless the length of the string.
我有以下代码集:
For leftLoop = 2 To leftNumberOfCells
Range("A" & iRow) = Split(Range("B" & iRow).Value, " ")
Range("B" & iRow) = Mid("B" & iRow, InStr("B" & iRow, " "), 100)
iRow = iRow + 1
Next leftLoop
代码行"Range("B" & iRow) = Mid("B" & iRow, InStr("B" & iRow, " "), 100)"
是我尝试的方法,除了其他方式(从在线搜索开始,但我似乎无法使其正常工作.
The code line "Range("B" & iRow) = Mid("B" & iRow, InStr("B" & iRow, " "), 100)"
is what I tried, among other ways (from searching online, but I can't seem to get it to work.
我有两个问题:
- 有人知道正确的代码是什么吗?还有...
- 我是否可以引用字符串所在的单元格并在执行mid函数后将其替换为同一单元格,而不必将其临时放入另一个单元格中并复制并粘贴回去?例如,我的字符串"123-456789"在单元格B2中,有没有一种编码方式,因此我可以引用单元格B2,同时用"456789"替换单元格B2,而不必将其放置在另一个单元格中,然后复制并将其粘贴回B2.我希望你能明白我的要求.
感谢您的帮助!
推荐答案
这是第2部分的内容.
Sub strings()
Dim replace As String
Dim bCell As Range
For leftLoop = 2 To leftNumberOfCells
Set bCell = Range("B" & iRow)
replace = Mid(bCell, InStr(bCell, "-") + 2, 100)
Range("B" & iRow) = replace
iRow = iRow + 1
Next leftLoop
End Sub
这篇关于Excel VBA代码中间函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文