1. vba调用函数代码
if(条件语句,条件正确输出,条件错误输出)
or函数放在条件语句中,用以多个条件并列的情况
如if(or(条件1,条件2,…),条件正确输出,条件错误输出)
2. vba调用功能函数
在VBA中,我们可以使用Workbooks对象的Open方法打开工作簿,参数FileName必需,指定一个字符串,代表要打开的工作簿文件名。参数UpdateLinks可选,指定文件中外部引用(链接)的方式.
3. vba 方法调用
function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有function可以用自身名字返回一个值,sub需定义别的变量,用传址方式传回值。
sub过程与function过程的区别:
1.sub过程定义时无需定义返回值类型,而function过程一般需要用“as数据类型”定义函数返回值类型。
2.sub过程中没有对过程名赋值的语句,而function过程中一定有对函数名赋值的语句。
3.调用过程:调用sub过程与function过程不同。调用sub过程的是一个独立的语句,而调用函数过程只是表达式的一部分。sub过程还有一点与函数不一样,它不会用名字返回一个值。但是,与function过程一样,sub过程也可以修改传递给它们的任何变量的值。
4.调用sub过程有两种方法:
以下两个语句都调用了名为myproc的sub过程。
callmyproc(firstargument,secondargument)
myprocfirstargument,secondargument
注意当使用call语法时,参数必须在括号内。若省略call关键字,则也必须省略参数两边的括号。
4. vba中使用函数
filter英文意思是过滤器。顾名思义,这个函数大致功能就是过滤筛选,它是一个针对于数组的函数。有4个参数,分别是:sourcearray(待筛选数组),match(要查找的字符串),include(布尔值,是否包含匹配项),compare(字符查找对比方式)。下面用一个例子说明用法:
Sub test() Dim arr As Variant, brr As Variant, crr As Variant arr = Array(2, 1, 2, 4, 3, 2) brr = Filter(arr, 2, False) crr = Filter(arr, 2, True) MsgBox "过滤掉匹配项,保留其余项:" & vbCrLf & Join(brr, "_") MsgBox "过滤掉不匹配项,保留匹配项目:" & vbCrLf & Join(crr, "_") End Sub '执行结果分别是: '过滤掉匹配项,保留其余项: '1_4_3 '过滤掉不匹配项,保留匹配项目: '2_2_2
从上面的例子brr数组是从arr数组中过滤掉了2,保留其他非匹配项目组成的一个新数组,crr是从arr中去掉了非匹配项,保留了是2的项组成的新数组。所以filter第三个参数是关键,如果是false就不保留匹配向,是true就只保留匹配项,我们一般用的是像brr那种,crr这种现实中没什么意义,只是用ubound(crr)-lbound(crr)+1>0 这种来确定某个字符在某个数组中是否存在!
5. VBA调用函数
在vba中自定义的函数,需要能在excel中引用,需要在function前面加public
引用方法:=function_name
6. vba定义函数调用
在vba里调用excel表中的公式函数,其调用形式是在函数的前面添加WorksheetFunction,例如:Sub test() Sheets("温度").Cells(1, 1) = WorksheetFunction.VLookup(1.09, Sheets("重命名").Range("A1:C10"), 3, 0)End Sub
7. vba的函数
VBA中不用row 函数 ,用 ROW 的属性
range("A1").ROW
CELLS(1,1).ROW
都代表 单元格A1 所在的行数
- 相关评论
- 我要评论
-