请问如何 用 excel vba 的mid 函数,截取中间字符串

http://pan.baidu.com/s/1jGMg9Jw请问如何在vba中使用mid函数(原starnum和num_chars是用find()表示的),截取中间字符... http://pan.baidu.com/s/1jGMg9Jw
请问如何在vba中使用mid函数(原star num和num_chars是用find()表示的),截取中间字符串?达到直接用函数mid+find 的效果...
自己乱写了一点代码, 求指教&修改!
Private Sub 宏1()
Dim i$, b$, c$, j$
i = Range("a7")
b = Range("b2")
c = Range("c2")
j = Range("b7")

If (InStr(c, i)> InStr(b, i)) Then
j ="=MID(i,INSTR(c,i),INSTR(b,i))"
Else
j = i
End If
End Sub
展开
 我来答
我的王是金闪闪4o
2015-01-24 · TA获得超过6702个赞
知道大有可为答主
回答量:7194
采纳率:42%
帮助的人:3383万
展开全部
Function mida(rng1 As Range, rng2 As Range, rng3 As Range)
i = InStr(1, rng1, rng2, vbTextCompare)
j = InStr(1, rng1, rng3, vbTextCompare)
If i > 0 And j > 0 And j > i Then
   mida = Mid(rng1, i, j - i + Len(rng3))
End If
End Function

右键thisworkbook,插入模块,用自定义函数。

追问
如果rng1是列A,rng2,rng3是固定的,想在列D中显示结果,请问该怎么改?
追答
rng1,rng2,rng3是3个单元格,3个形式参数。你只需要代入实际的单元格即可。与列号无关。
这个公式的结果就是提取rng1中,rng2开始,rng3结束的内容。
写好公式后。下拉复制即可。
spencer0509
2015-01-24 · TA获得超过123个赞
知道答主
回答量:53
采纳率:66%
帮助的人:20万
展开全部
你这样的问题很难看懂,你直接说原字符串是什么,然后想达到什么样的效果,这样就简单了.
也就是原始字符串和想要的结果字符串.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式