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,他不认识。。