2024年6月2日发(作者:)
excel vba 跨工作簿的过程或函数调用程序写法
在所有录制的宏的语句前面加上 "Workbooks("").",如:
Workbooks("").Sheets(1).Select
方便一点的话就
Dim WB As Workbook
Set WB = Workbooks("")
(1).Select
在VBA中自定义的函数,需要能在Excel中引用,需要在Function前面加Public
引用方法:=function_name
Sub Filter() ("A1").edFilter _
Action:=xlFilterCopy, Unique:=True, CopyToRange:=("A1")
End Sub
复制代码 代码解析: Filter过程使用AdvancedFilter方法对单元格A1的当前区域筛
选不重复的记录,并将筛选结果复制到工作表Sheet2中。应用于Range集合的
AdvancedFilter方法语法如下: AdvancedFilter(Action, CriteriaRange, CopyToRange,
Unique)
参数Action是必需的,可以为表格1所列的XlFilterAction常量之一。
XlFilterAction 常量 值 描述
xlFilterInPlace 1 在原有区域显示筛选结果
xlFilterCopy 2 将筛选结果复制到其他位置
参数CriteriaRange指定高级筛选操作的条件区域,缺省时表示没有条件限制。 参数
CopyToRange表示指定被复制行的目标区域,仅当Action为xlFilterCopy时有效,否则
忽略本参数。 参数Unique指示是否选择不重复的记录,如果其值为True,则重复出现
的记录仅保留一条;如果其值为 False(默认值),则筛选出所有符合条件的记录。 运
行FilterUnique过程
FormulaR1C1 是公式输入方法中括号表示的是相对于选定单元格的相对偏移
量,”-”为向左或向上偏移,正数为右或下偏移。无中括号表示的是相对于选定单元
格的绝对偏移量,没有负数。“R”和”C”表示的是待变“行”和“列”。
如:选定单元格为C8
R[-1]C[-1]为B7单元格,行列都-1,R[1]C[2]为E9单元格,行+1,列+2
R1C1代表A1单元格,R5C6代表F5单元格
例:C1单元格为”=A1+B1″
Range(“C1″).FormulaR1C1 = “=RC[-2]+RC[-1]”
例:C1单元格为”=A2+E3″
Range(“C1″).FormulaR1C1 = “=R[1]C[-2]+R[2]C[2]“
发布评论