Excel中有很多内置函数,在VBA中想要使用这些内置函数,该怎么使用呢?
Mid(string, start[, length])
部分 | 说明 |
string | |
start | 必要参数。为 Long。string 中被取出部分的字符位置。如果start 超过 string 的字符数,Mid 返回零长度字符串 ("")。 |
length | 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。 |
示例:单元格E3中有字符串“ABCD1200456”,使用函数“=MID(E3, 7, 2)”计算结果为“00”
在VBA中使用,两种方式:
直接赋值给某个单元格: Sheet1.Range(“A3”) = “=Mid(A1, 7, 2)”
赋值给变量:
Dim squenceNo As String
squenceNo = Mid(A1, 7, 2)
MsgBox(squenceNo)
不幸的是,显示结果为空。
后来思索了一下,第1种方式整个函数放在了双引号里面,是一个整体赋给了这个单元格。而第2种方式中A1似乎是个变量,并没有定义啊,于是改成
squenceNo = Mid(Range("A1").Value, 7, 2)
成功!
所以问题在于在VBA使用内置函数时,单元格引用方式需要调整,直接写A1,他不认识。。
VBA中使用Excel内置函数Mid的注意事项,
在VBA中调用Excel的内置函数Mid时,需要注意单元格引用的方式。直接写A1会导致错误,应使用Range(A1).Value来正确引用。示例中,通过修正后的代码`squenceNo=Mid(Range(A1).Value,7,2)`,成功提取了单元格的内容。
2617

被折叠的 条评论
为什么被折叠?



