Excel函数
一、Excel函数
返回给定数字的绝对值。(即不带符号的数值)
格式:=ABS(数值)
数值:需要计算其绝对值的实数。
返回到期一次性付息有价证券的应付利息。
格式:=ACCRINT(发行日,起息日,成交日,利率,票面价值,年付息次数,基准选 项,计算方法)
发行日:债券的发行日。
起息日:开始计算利息的日期。
成交日:证券的结算日。
利率:是债券的年票息率。
票面价值:是债券的票面值。
年付息次数:按年支付,frequency=1;
按半年期,frequency=2;
按季度,frequency=4.
基准选项:采用的日算类型。
计算方法:是一个逻辑值;从发行日开始的应计利息=true或忽略;从最后票息支付日 期开始计算=false。
返回到期一次性付息有价证券的应计利息。
格式:=ACCRINTM(发行日,到期日,利率,票面价值,基准选项)
求给定数值的反余弦,以弧度返回,幅度值范围是0到pi。
格式:=ACOS(数值)
数值:即余弦值,介于-1和1之间。
返回数值的反双曲余弦值。
格式:=ACOSH(小数位数)
小数位数:大于或等于1的任何实数。
按照给定的行号和列标,返回一个文本类型的单元格地址。
格式:=ADDRESS(行序数,列序数,引用类型,引用样式,工作表名称)
行序数:指定引用单元格的行号。
列序数:指定引用单元格的列号。
引用类型:绝对引用=1;绝对行/相对列=2;相对引用=4;相对行/绝对列=3。
引用样式:A1样式=1或true;R1C1样式=0或false。
工作表名称:字符串,指定用作外部引用的工作表名称。
返回每个结算期间的折旧值,该函数主要为法国会计系统提供。
格式:=AMORDEGRC(原值,购入日期,结束日期,残值,期间,利率,基准选项)
原值:固定资产原值
购入日期:购入资产的日期。
结束日期:第一个期间结束时的日期。
残值:资产使用年限结束时的估计残值。
期间:进行折旧计算的期次,它必须与前者使用相同的单位。
利率:各期利率。例:当利率为6%时,使用6%/4计算一个季度的还款额。
返回每个结算期间的折旧值,该函数为法国会计系统提供。如果某项资产是在结算期间 的中期购入的,则按线性折旧法计算。
格式:=AMORLINC(原值,购入日期,结束日期,残值,期间,利率,基准选项)
在参数组中,任一逻辑值为false则返回false,只有均为true,则返回true。
格式:=AND(逻辑值1,逻辑值2,。。。)
返回引用中包含的区域个数(区域表示连续的单元格区域或某个单元格)
格式:=AREAS(参照区域)
参照区域:对某个单元格或单元格区域的引用,可包含多个区域。
对于双字节符集(DBCS)语言,将全角(双字节)英文字符更改为半角(单字节)字 符。
格式:=ASC(字符串)
返回给定参数的反正弦。弧度值的范围为-pi/2到pi/2。
格式:=ASIN(数值)
数值:介于-1和1之间。
返回参数的双曲正弦值。
格式:=ASINH(数值)
数值:>=1的任何实数。
返回正切值。弧度值范围-pi/2到pi/2。
格式:=ATAN(数值)
数值:角度的正切值。
返回参数的反双曲正切值。
格式:=ATANH(数值)
数值:(-1,1)
返回给定的x及y坐标值的反正切值。弧度范围为(-pi,pi)
格式:=ATAN2(x坐标,y坐标)
x坐标:某点的x轴坐标值。y
坐标:某点的y轴坐标值。
返回一组数据与其均值的绝对偏差的平均值,AVEDEV用于评测这组数据的离散度。
格式:=AVEDEV(数值1,数值2,。。。)
返回所有参数的算术平均值。
格式:=AVERAGE(数值1,数值2,。。。)
返回所有参数的平均值,true=1,false=0,参数引用时,字符串和false为0。
格式:=AVERAGEA(数值1,数值2,。。。)
返回某个区域内满足给定条件的所有单元格的算术平均值。
格式:=AVERAGEIF(区域,条件,求平均值区域)
区域:用于条件判断的单元格区域。
条件:以数字、表达式或文本形式定义的条件。
求平均值区域:用于求平均值计算的实际单元格。
返回满足的多重条件的所有单元格的算术平均值。
格式:=AVERAGEIFS(求平均值区域,区域1,条件1,区域2,条件2,。。。)
返回修正bessel函数值,它与用纯虚数参数运算时的bessel函数相等
格式:=besseli(参数值,函数的阶数)
参数值:用于测试函数的值
函数的阶数(?):函数的阶数
返回bessel函数值
格式:=besselj(参数值,函数的阶数)
返回修正bessel函数值,它与用纯虚数参数运算时的bessel函数相等
格式:=besselk(参数值,函数的阶数)
返回bessel函数值,也称为weber函数或neumann函数。
格式:=bessely(参数值,函数的阶数)
返回累积beta分布的概率密度。
格式:=betadist(数值x,分布参数α,分布参数β,[x所属区的下界],[x所属区的上 界])
数值x:用来进行概率密度计算的值,须居于可选性上下界(A和B)之间
分布参数α:此分布的一个参数,必须大于0
分布参数β:此分布的一个参数,必须大于0
[x所属区的下界]:数值x的可选下界,如果忽略,A=0
[x所属区的上界]:数值x的可选上界,如果忽略,A=1
返回具有给定概率的累积beta分布的区间点。
格式:=betainv(分布概率,分布参数α,分布参数β,[x所属区的下界],[x所属区的 上界])
分布概率:beta分布的概率
将二进制数转化为十进制数。
格式:=bin2dec(二进制数)
二进制数:要转换的二进制数
将二进制数转化为十六进制数。
格式:=bin2hex(二进制数)
将二进制数转化为八进制数。
格式:=bin2oct(二进制数)
返回一元二项式分布的概率值
格式:=binom.dist(试验成功的次数,试验的次数,成功的概率,返回累积分布函数)
试验成功的次数:实验成功的次数
试验的次数:独立实验次数
成功的概率:一次实验中成功的概率
返回累积分布函数:逻辑值,决定函数形式。累积分布函数,使用true,概率密度函 数,使用false。
使用二项式分布返回实验结果的概率。
格式:=binom.dist.range(试验的次数,成功的概率,试验成功的次数,[试验成功的 次数])
[试验成功的次数]:可选,如提供,则返回试验成功次数将介于number-s和number-s2 之间的概率,必须大于或等于number-s并小于或等于trials。
返回使累积二项式分布大于等于临界值的最小值。
格式:=binom.inv(试验的次数,成功的概率,临界值)
临界值:介于0与1之间
返回一元二项式分布的概率值。
格式:=binomdist(试验成功的次数,试验的次数,成功的概率,返回累积分布函数)
返回累积分布函数:逻辑值,决定函数形式。累积分布函数,使用true,概率密度函数, 使用false。
返回某一引用区域的左上角单元格的格式、位置或内容等信息。
格式:=cell(信息类型,引用)
信息类型:字符串,用于指定所需的单元格信息类型
引用:需要了解其信息的单元格
将参数向上舍入(沿绝对值增大的方向)为最接近的整数,或最接近的指定基数的倍数。
格式:=ceiling(数值,舍入基数)
数值:逻辑值,决定函数形式。累积分布函数,使用true,概率密度函数,使用false。
舍入基数:用于向上舍入的基数
返回数字代码所对应的字符(指定的代码对应于计算机当前使用的字符集)
格式:=char(数值)
数值:介于1到255之间的任意数字。
返回x^2分布的单尾概率。
X^2分布与X^2检验有关,使用X^2检验可以比较观察值和期望值。
格式:=chidist(数值,自由度)
数值:X^2用来计算x^2分布收尾概率的数值
自由度:介于1与10^10之间,不含10^10
返回x^2分布单尾概率的反函数值。
格式:=chidist(分布概率,自由度)
分布概率:x^2分布的概率,介于0与1之间,包含0与1
返回独立性检验值。
格式:=chitest(观察值集合,期望值集合)
观察值集合:观察值的值域
期望值集合:理论值的值域
根据给定的索引值,返回数值参数列表中对应的数值。
格式:=choose(序号)
序号:用以指明待选参数序号的参数值。必须为1到254之间的数字、或者是包含数 字1到254的公式或单元格引用。
格式:=clean(字符串)
字符串:任何想要从中删除非打印字符的工作表信息
43.CODE:返回文本字符串中第一个字符的数字代码。(返回的代码对应于计算机当前使用的字符集)
格式:=code(字符串)
字符串:要取第一个字符代码的字符串
格式:=column(参照区域)
参照区域:准备求取列号的单元格或连续的单元格区域;如果忽略,则使用包含column函数的单元格
格式:=columns(数组)
数组:要计算列数的数组、数组公式或是对单元格区域的引用。
46.COMBIN:返回从给定元素数目的集合中提取若干元素的组合数。
格式:=combin(对象总数,每个排列中的对象数)
对象总数:元素总和
每个排列中的对象数:每个组合包含的元素数目
47.COMPLEX:将实系数和虚系数转换为x+yi或x+yj的复数形式。
格式:=complex(实部,虚部,[虚部后缀])
实部:复数的实系数
虚部:复数的虚系数
虚部后缀:复数中虚部的后缀
48.CONCATENATE:将多个文本字符串合并成一个文本字符串。
格式:=concatenate(字符串1,字符串2,。。。)
字符串:可以是字符串、数字或对单个单元格的引用
格式: =confidence(显著水平参数,总体标准偏差,样本容量)
显著水平参数:用来计算置信区间的显著性水平,一个大于0小于10的数值
总体标准偏差:假设为已知的总体标准方差,必须大于0
样本容量:样本容量
50.CONVERT:将数值从一个度量系统转换到另一个度量系统
格式:=convert(数值,初始单位,结果单位)
数值:是初始单位要转换的数值
初始单位:是数字的单位
结果单位:是结果的单位
返回两数组之间的相关系数
格式:=correl(第一组数值,第二组数值)
第一组数值:第一组数值单元格区域
第二组数值:第二组数值单元格区域
格式:=cos(数值)
数值:以弧度表示的,准备求其余弦值的角度
格式:=cosh(数值)
数值:任意实数
54.COUNT:返回包含数字的单元格以及参数列表中的数字的个数
格式:=count(值1,值2,。。。)
值:各种不同类型数据的参数,但只对数字型数据进行计数
格式:=count(值1,值2,。。。)
值:对值和单元格进行计数的参数。它们可以是任何形式的信息
格式:=countblank(区域)
区域:指要计算空单元格树木的区域
格式:=countif(区域,条件)
区域:要计算其中非空单元格数目的区域
条件:以数字、表达式或文本形式定义的条件
58.COUNTIFS:计算多个区域中满足给定条件的单元格的个数
格式:=countifs(区域1,条件1,区域2,条件2,。。。)
格式:=coupadaybs(成交日,到期日,年付息次数,[基准选项])
60.COUPDAYSNC:返回从结算日到下一票息支付日之间的天数
格式:=coupadaysnc(成交日,到期日,年付息次数,[基准选项])
61.COVAR:返回协方差,即每对数据点的偏差乘积的平均数,利用协方差可以决定两个数据集之间的关系。
格式:=covar(第一组数值,第二组数值)
第一组数值:第一组整数单元格区域
62.CRITBINOM:返回使累积二项式分布大于等于临界值的最小值
格式:=critbinom(试验的次数,成功的概率,临界值)
试验的次数:贝努力试验的次数
成功地概率:一次试验中成功的概率
临界值:介于0与1之间
63.CUMIPMT:返回一笔贷款在给定的开始日期到结束日期期间累计偿还的利息数额
格式:=cumipmt(利率,支付总期数,现值,首期,末期)
利率:各期利率
支付总期数:总投资
现值:从该项投资开始计算已经入账的款项;或一系列未来付款当前值的累积和。如果忽略,现值(pv)=0,且此时必须包含定期支付额(pmt)
首期:是要从中提取的数据字段的名称
末期:计算中的末期
64.CUMPRINC:返回一笔贷款在给定的start-period到end-period期间累计偿还的本金数额。
格式:=cumprinc(利率,支付总期数,现值,首期,末期)
格式:=DATE(年,月,日)
格式:=DATEIF(开始日期,终止日期,比较单位)
比较单位:所需信息的返回类型(“Y”,“M”,“D”)
67.DATEVALUE:返回以字符串所表示的日期值所对应的序列号。
格式:=DATEVALUE(日期字符串)日期字符串:按WPS表格日期格式表示的字符串,应在1/1/1900到12/31/9999之间。
68.DAVERAGE:返回列表或数据库中满足指定条件的列中数值的平均值。
格式:=DAVERAGE(数据库区域,操作域,条件)
数据库区域:构成列表或数据库的单元格区域。数据库是一系列相关的数据的列表。
操作域:用双引号括住的列标签,或是表示该表在列表中位置的数值。
69.DAY:返回以序列号表示的某日期的天数,介于1到31之间的整数。
格式:=DAY(日期序号)
70.DAYS360:按每年360天返回两个日期间相差的天数(每月30天)
格式:=DAYS360(开始日期,终止日期,选项)
选项:是指定计算方法的逻辑值;false或忽略,使用美国(NASD)方法;true,使用欧洲方法。
71.DB:使用固定余额递减法,计算一笔资产在给定期间内的折旧值。
格式:=DB(原值,残值,折旧期限,期间,月份数)
72.DCOUNT:返回数据库或列表的列中满足指定条件并且包含数字的单元格的个数。
格式:=DCOUNT(数据库区域,操作域,条件)
数据库区域:构成列表或数据库的单元格区域。数据库是一系列相关的数据。
73.DCOUNTA:返回数据库或列表的列中满足指定条件的非空单元格的个数。
格式: =DCOUNTA(数据库区域,操作域,条件)
74.DDB:使用双倍余额递减法或其它指定方法,计算一笔资产在给定期间内的折旧值。
格式:=DDB(原值,残值,折旧期限,期间,余额递减速率)
余额递减速率:若省略,则采用默认值2(双倍数余额递减)
格式:=DEC2BIN(十进制数,字符数)
字符数:转化后的二进制数的字符个数,缺省则为最少的字符个数来表示。
格式:=DEC2HEX(十进制数,字符数)
格式:=DEC2OCT(十进制数,字符数)
格式:=DEGREES(弧度)
弧度:以弧度表示角。
格式: =DELTA(待测值,待测值)
格式:=DEVSQ(数值1,数值2,。。。)
数值:参数,或者谁一个数组或数组引用。
81.DGET:从列表或数据库的列中提取符合指定条件的单个值。
格式:=DGET(数据库区域,操作域,条件)
82.DMAX:返回列表或数据库的列中满足指定条件的最大值。
格式:=DMAX(数据库区域,操作域,条件)
83.DMIN:返回列表或数据库的列中满足指定条件的最小数字。
格式:=DMIN(数据库区域,操作域,条件)
84.DOLLAR:按照货币格式及给定的小数位数,将数值转换成文本。
格式:=DOLLAR(数值,小数位数)
85.DPRODUCT:返回列表或数据库的列中满足指定条件的数值的乘积。
格式:=DPRODUCT(数据库区域,操作域,条件)
86.DSTDEV:将列表或数据库的列中满足指定条件的数字作为一个样本,估算样本总体的标准偏差。
格式:=DSTDEV(数据库区域,操作域,条件)
87.DSTDEVP:将列表或数据库的列中满足指定条件的数字作为样本总体,估算总体的标准偏差。
格式:=DSTDEVP(数据库区域,操作域,条件)
88.DSUM:返回列表或数据库的列中满足指定条件的数字之和。
格式:=DSUM(数据库区域,操作域,条件)
89.DVAR:将列表或数据库的列中满足指定条件的数字作为一个样本,估算样本总体的方差。
格式:=DVAR(数据库区域,操作域,条件)
90.DVARP:将列表或数据库的列中满足指定条件的数字作为样本总体,估算总体的方差。
格式:=DVARP(数据库区域,操作域,条件)
91.EDATE:返回代表指定日期(开始日期)之前或之后用于指示月份数的日期。使用函数EDATE可以计算与发行日处于一月中同一天的到期日的日期。
格式:=EDATE(开始日期,月数)
月数:开始日期之前或之后的月数。
92.EOMONTH:返回一串日期,表示指定月数之前或之后的月份的最后一天。
格式:=EOMONTH(开始日期,月数)
格式:=ERF(积分下限,积分上限)
积分下限:是集成ERF的下界。
积分上限:是集成ERF的上限。
94.ERFC:返回从X到无穷积分的ERF函数的余误差函数。
格式:=ERFC(积分下限)
95.ERROR.TYPE:返回与错误值对应的数字;如果没有错误,则返回#N/A。
格式:=ERROR.TYPE(错误码)
错误码:需要辨认其类型的错误值,可为实际错误值或对包含错误值的单元格引用。
96.EVALUATE:对以文字表示的一个公式或表达式求值,并返回结果。
格式:=EVALUATE(文本公式)
文本公式:一个要求值的以文字形式表示的表达式。
格式:=EVEN(数值)
数值:需要取偶的数值。
98.EXACT:比较两个字符串是否完全相同(区分大小写),返回true或false。
格式:=EXACT(字符串,字符串)
99.EXP:返回e的n次幂。(e=2.71828182845904)
格式:=EXP(数值)
格式:=EXPONDIST(函数的数值,参数值,返回累积分布函数)
函数的数值:用于指数分布函数计算的区间点,非负数值。
参数值:指数分布函数的参数,正数。
返回累积分布函数:逻辑值,当函数为累积分布函数时,返回值为
true,当为概率密度函数时,返回值为false,指定使用任何形式的指数函数。
101.FACT:返回数的阶乘,一个数的阶乘等于1*2*3*。。。*该数。
格式:=FACT(数值)
数值:要进行阶乘计算的非负数。
格式:=FACTDOUBLE(数值)
数值:一个要求值的以文字形式表示的表达式。
格式:=FALSE()
104.FDIST:返回F概率分布。使用此函数可以确定两个数据是否存在变化程度上的不同。
格式:=FDIST(数值x,分子自由度,分母自由度)
数值x:用来计算概率分布的区间点,是一个非负值。
分子自由度:[1,10^10)
分母自由度:[1,10^10)
105.FIND:返回一个字符串在另一个字符串中出现的起始位置(区分大小写,且不允许使用通配符。)按字符查找
格式:=FIND(要查找的字符串,被查找字符串,开始位置)
开始位置:忽略则为1。
106.FINDB:返回一个字符串在另一个字符串中出现的起始位置(区分大小写,且不允许使用通配符。)按字节查找
格式: =FINDB(要查找的字符串,被查找字符串,开始位置)
开始位置:忽略则为1。
格式:=FINV(分布概率,分子自由度,分母自由度)
分布概率:F分布的概率值,在0与1之间。
格式:=FISHER(数值)
数值:需要变换的数值,范围在(-1,1)。
109.FISHERINV:返回FISHER逆变换值,如果y=Fisher(x),则Fisherinv(y)=x。
格式:=FISHERINV(数值)
110.FIXED:用定点小数格式将数值舍入成特定位数并返回带或不带逗号的文本。
格式:=FIXED(数值,小数位数,无逗号分隔符)
数值:准备舍入并转化为文本字符的数值。
小数位数:指小数点右边的位数,忽略值为2。
无逗号分隔符:一个逻辑值,指定在返回文本中是否显示逗号,true显示逗号,忽略或为false不显示。
111.FLOOR:按给定基数进行向下舍入计算。(沿绝对值减小的方向向下舍入)
格式:=FLOOR(数值,舍入基数)
舍入基数:用以进行舍入计算的倍数,两个参数必须同时为正或同时为负。
格式:=FORECAST(预测点X值,已知Y值集合,已知X值集合)
预测点X值:需要进行预测的数据点的x坐标。
已知Y值集合:从满足线性拟合直线y=mx+b的点,集中选出一组已知的y值。
已知X值集合:从满足线性拟合直线
y=mx+b的点,集中选出一组已知的x值。
113.FREQUENCY:以一列垂直数组返回某个区域中数据点的频率分布。
格式:=FREQUENCY(一组数值,一组间隔值)
一组数值:用来计算频率的数组,或对数组单元区域的引用(空格及字符串忽略)
一组间隔值:数据接收之间为一数组或数组区域的引用,设定对data-array进行平率计算的分段点。
114.FTEST:返回F检验的结果。F检验返回的是当数组1和数组2的方差无明显差异时的单尾概率。
格式:=FIEST(第一组数值,第二组数值)
第一组数值:第一个数据组或数值区域,可以是数值、名称、数组、或是数值的引 用。
第二组数值:第一个数据组或数值区域,可以是数值、名称、数组、或是数值的引用。
115.FV:基于固定利率及等额分期付款方式,返回某项投资的未来值。
格式:=FV(利率,支付总期数,定期支付额,现值,是否期初支付)
定期支付额:各期支出金额,在整个投资期内不变。
是否期初支付:逻辑值,1=期初;0或忽略=期末。
格式:=GAMMADIST(数值,分布参数α,分布参数β,返回累积分布函数)
格式:=GAMMAINV(分布概率,分布参数α,分布参数β)
分布概率:介于[0,1]
格式:=GAMMALN(数值)
数值:一个要计算GAMMALN的整数。
119.GAMMALN.PRECISE:返回伽玛函数的自然对数。
格式:=GAMMALN.PRECISE(数值)
数值:一个要计算GAMMALN的整数。
格式:=GCD(数值1,数值2,数值3,。。。)
数值:你所要求公约数的整数,可以是数值,数组等。
格式:=GEOMEAN(数值1,数值2,数值3,。。。)
数值:用于计算几何平均数的1到255个数值、名称、数组,或是对数值的引用
122.GESTEP:如果number大于等于step,返回1,否则返回0。
格式:=GESTEP(待测值,临界值)
待测值:按步测试的值
临界值:阀值
123.GETPIVOTDATA:提取存储在数据透视表的数据。
格式:=GETPIVOTDATA(查询字段,数据透视表区域,字段名1,字段值1,字段名2,字段值2,。。。)
查询字段:是要从中提取数据的数据字段的名称
数据透视表区域:是到包含要检索数据的数据透视表中某单元格或单元格区域的引用。
字段名1:是要引用的字段
字段值1:是要引用的字段项
格式:=GROWTH(已知x值集合,已知y值集合,新x值集合,不强制系数为1)
已知x值集合:满足指数回归拟合曲线y=b*m^x的一组已知的y值
已知y值集合:满足指数回归拟合曲线y=b*m^x的一组已知的x值,个数与y值相同,为可选参数。
新x值集合:为需要通过growth函数返回的对应y值的一组新x值
不强制系数为1:为一逻辑值,用于指定是否将常数b强制设为1
125.HARMEAN:返回数据集合的调和平均值。调和平均值与倒数的算术平均值互为倒数。
格式:=harmean(数值1,数值2,。。。)
数值:用于计算几何平均数的1到255个数值、名称、数组,或是对数值的引用
格式:=hex2bin(十六进制数,字符数)
格式:=hex2dec(十六进制数,字符数)
格式:=hex2oct(十六进制数,字符数)
129.HLOOKUP:在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行处的数值。(默认情况下,表是升序的)
格式:=hlookup(查找值,数据表,行序数,匹配条件)
查找值:需要在数据表首行进行搜索的值,可以是数值、引用或字符串
数据表:为需要在其中查找数据的数据表,可是使用对区域或区域名称的引用
行序数:为数据表中待返回的匹配值的行序号,表格中的第一行序号为1
匹配条件:逻辑值,如果为true或忽略,在第一行中查找最近似的匹配;如果为false,查找时精确匹配。
130.HOUR:返回以序列号表示的某时间的小时数值,介于0到23之间的整数。
格式:=hour(日期序号)
日期序号:wps表格进行日期及时间计算的日期-时间代码,或以时间格式表示的文本,如16:48:00或4:48:00pm
131.HYPERLINK:创建一个快捷方式(跳转),用以打开存储在网络服务器、intranet或internet中的文件。
格式:=hyperlink(连接位置,显示文本)
连接位置:要打开的文件名称及完整路径。可以是本地硬盘、unc路径或url路径
显示文本:为单元格中显示的跳转字符串或数字值。如果忽略,则显示链接位置的文本。
132.HYPGEOMDIST:返回超几何分布。给定样本容量、样本总体容量和 样本总体中成功的次数,函数返回样本取得给定成功次数的概率。
格式:=HYPGEOMDIST(样本中成功的次数,样本容量,样本总体中成功的次数,样本总体的容量)
样本中成功的次数:样本中成功的数目
样本容量:样本容量
样本总体中成功的次数:样本总体中成功的数目
样本总体的容量:样本总体的容量
133.IF:判断一个条件是否满足:如果满足返回一个值,如果不满足则返回另外一个值。
格式:=if(测试条件,真值,假值)
134.IFERROR:如果公式的计算结果错误,则返回您指定的值;则返回公式的结果。
格式:=iferror(值,错误值)
值:要检测的值,检测值可以是一个单元格、公式、或者是一个单元格、公式,或数值的名称
错误值:公式的计算结果为错误时要返回的值。
格式:=imabs(复数)
复数:求其绝对值的复数。
136.IMAGINARY:返回以x+yi或x+yj文本格式表示的复数的虚系数。
格式:=IMAGINARY(复数)
复数:求其虚系数的复数。
137.IMARGUMENT:计算指定复数对应的角度θ,θ用弧度表示。
格式:=IMARGUMENT(复数)
复数:求其参数值的复数。
138.IMCONJUGATE:返回以x+yi或x+yj的复数的共轭复数。
格式:=IMCONJUGATE(复数)
复数:求其共轭复数的复数。
139.IMCOS:返回以x+yi或x+yj的复数的余弦值。
格式:=IMCOS(复数)
复数:求其余弦值的复数。
140.IMDIV:计算x+yi或x+yj这两个形式表达的复数的商。
格式:=IMDIV(复数)
复数1:复数形式的分子或被除数。复数2:复数形式的分母或除数。
141.IMEXP:计算以x+yi或x+yj形式表达的复数的指数。
格式:=IMEXP(复数)
142.IMLN:返回形式为x+yi或x+yj的复数的自然对数。
格式:=imln(复数)
143.IMLOG10:返回形式为x+yi或x+yj的复数的常用对数(底数为10)。
格式:=IMLOG10(复数)
144.IMLOG2:返回形式为x+yi或x+yj的复数的常用对数(底数为2)
格式:=IMLOG2(复数)
145.IMPOWER:计算以x+yi或x+yj形式表达的复数的整数幂。
格式:=impower(复数,幂)
复数:作为幂使用的复数
幂:复数形式的幂
146.IMPRODUCT:计算以x+yi或x+yj形式表达的复数的乘积。
格式:=impower(复数1,复数2,。。。)
147.IMREAL:返回形式为x+yi或x+yj的复数的实系数。
格式: =IMREAL(复数)
148.IMSIN:返回形式为x+yi或x+yj的复数的正弦值。
格式:=IMSIN(复数)
149.IMSQRT:返回形式为x+yi或x+yj的复数的平方根
格式:=IMSQRT(复数)
格式:=IMSUB(复数1,复数2)
格式:=IMSUM(复数1,复数2,复数3,。。。)
复数:用于求和的1到30个复数。
152.INDEX:返回数据清单或数组中的元素值,此元素由行序号和列序号的索引值给定。
格式:=index(数组,行序数,列序数,区域序数)
数组:单元格区域或数组常量
行序数:数组或引用中要返回值的行序号,如果忽略,列序数不为空
列序数:数组或引用中要返回值的列序号,如果忽略,行序数不为空
区域序数:对一个或多个单元格区域的引用。
格式:=indirect(单元格引用,引用样式)
单元格引用:该引用所指向的单元格中存放有另一单元格的引用,引用的形式为A1,R1C1或是名称。
引用样式:逻辑值,指明包含在单元格中的引用方式。R1CI格式=false;A1
格式=true或忽略
格式:=info(信息类型)
信息类型:指定所要获得的信息类型。
格式:=int(数值)
数值:将要向下舍入的数值。
156.INTERCEPT:利用现有的x值与y值计算直线与y轴的截距。
格式:=intercept(已知y值集合,已知x值集合)
已知Y值集合:因变量数据点
已知x值集合:自变量据点
157.IPMT:基于固定利率及等额分期付款方式,返回给定期数内对投资 的利息偿还额。
格式:=ipmt(利率,期数,支付总期数,现值,终值)
格式:=irr(现金流,预估值)
159.ISBLANK:检查引用是否为空单元格,返回true或false。
格式:=isblank(值)
值:要检查的单元格或单元格名称
160.ISERR:检测一个值是否为#N/A以外的错误值,返回ture或false
格式:=ISERR(值)
161.ISERROR:检查引用是否为错误值,返回true或false
格式:=ISERRor(值)
162.ISEVEN:检查引用是否为一个偶数,返回true或false
格式:=ISEVEN(值)
163.ISLOGICAL:检测一个值是否为逻辑值,返回true或false
格式:=ISLOGICAL(值)
164.ISNA:检测是否为#N/A错误值,返回ture或false
格式:=ISNA(值)
165.ISNONTEXT:检测一个值是否为不是文本,返回true或false
格式:=ISNONTEXT(值)
166.ISNUMBER:检测一个值是否是数值,返回ture或false
格式:=ISNUMBER(值)
167.ISODD:检测一个值是否是奇数,返回ture或false
格式:=ISODD(值)
格式:=ISPMT(利率,期数,支付总期数,现值)
支付总期数:即该笔贷款的偿还总期数。
现值:一系列未来付款当前值的累计和。
169.ISREF:检测一个值是否为引用,返回ture或false
格式:=ISREF(值)
170.ISTEXT:检测一个值是否是文本,返回ture或false
格式:=ISTEXT(值)
171.KURT:返回数据集的峰值。峰值反映与正态分布相比某一分布的尖锐度或平坦度。
格式:=KURT(数值1,数值2,数值3俄,。。。)
数值:用于1到255个数值、名称、数组,或是对数值的引用
格式:=LARGE(数组,K)
数组:用来计算第K个最大值点的数组或区域
K:所要返回的最大值点在数组或数据区中的位置(从最大值开始)
格式:=LCM(数值1,数值2,。。。)
数值:所要返回的最大值点在数组或数据区中的位置(从最大值开始)
174.LEFT:从一个文本字符串的第一个字符开始返回指定个数的字符。
格式:=left(字符串,字符个数)
字符串;要提取字符的字符串
字符个数:要left提取的字符数;如果忽略为1。
175.LEFTB:返回字符串最左边指定数目的字符。与双字节字符集一起使用。
格式;=leftb(字符串,字符个数)
格式:=len(字符串)
格式:=lenb(字符串)
178.LINEST:使用最小二乘法对已知数据进行最佳直线拟合,并返回描述此直线的数组。(此函数返回数值数组,须以数组公式的形式输入)
格式:=LINEST(已知y值集合,已知x值集合,不强制截距为0,返回状态)
返回状态:逻辑值,如果返回附加的回归统计值,返回true;如果返回系数m和常数b,返回false。
179.LN:返回一个数的自然对数。自然对数以常数项e(2.71828182845904)为底
格式:=LN(数值)
格式:
=LOG(数值,底数)
数值:计算对数是所使用的正实数
底数:计算对数时所使用的底数,如果省略,则以10为底。
格式:=LOG10(数值)
182.LOGEST:在回归分析中,计算最符合数据的指数回归拟合曲线,并返回描述该曲线的数值数组。因为此函数返回数值数组,故必须以数组公式的形式输入。
格式:=LOGEST(已知y值集合,已知x值集合,不强制截距为0,返回状态)
183.LOGINV:返回x的对数正态累积分布函数的区间点,其中ln(x)是平均数和标准方差参数的正态分布
格式:=LOGINV(分布概率,算术平均值,标准偏差)
分布概率:介于[0,1]
算术平均值:ln(x)的平均数
标准偏差:ln(x)的标准方差,正数
184.LOGNORMDIST:返回x的对数累积分布函数,其中ln(x)是服从参数mean和standard-dev的正态分布。
格式:=LOGNORMDIST(数值,算术平均值,标准偏差)
数值:用来进行函数计算的参考,正数
格式:=LOOKUP(查找值,查找向量,返回向量)
查找值:为函数lookup在数组中所要查找的数值,可以为数字、文本、逻辑值或包含数值的名称或引用。
查找向量:只包含单行或单列的单元格区域,与查找向量大小相同
返回向量:只包含单行或单列的单元格区域,与查找向量大小相同
格式:=lower(字符串)
字符串:要对其转化的字符串,其中不是英文的字符不变。
187.MATCH:返回在指定方式下与指定项匹配的数组中元素的相应位置。
格式:=MATCH(查找值,查找区域,匹配类型)
查找值:在数组中所要查找匹配的值,可以是数值、文本或逻辑值,或者对上述类型的引用
查找区域:含有要查找的值的连续单元格区域,一个数组,或是对某数组的引用
匹配类型:为数字-1,0或1,指明WPS表格如何在查找区域中查找指定值。
188.MAX:返回参数列表中的最大值,忽略文本值和逻辑值。
格式:=MAX(数值1,数值2,。。。)
数值:数值、空单元格、逻辑值或文本数值。
189.MAXA:返回参数列表中的最大值,不忽略文本值和逻辑值。
格式: =MAX(数值1,数值2,。。。)
格式:=MDETERM(数组)
数组:行数和列数相等的数值数组,或是单元格区域,或是数组常量。
格式:=MEDIAN(数值1,数值2,。。。)
数值:用于中值计算的数字、名称、数组,或者是数值引用
192.MID:从文本字符串中指定的位置开始,返回指定长度的字符串。按字符提取
格式:=mid(字符串,开始位置,字符个数)
193.MIDB:从文本字符串中指定的位置开始,返回指定长度的字符串。按字节提取
格式:=midb(字符串,开始位置,字节个数)
格式:=min(数值1,数值2,。。。)
数值:数值、空单元格、逻辑值或文本数值
195.MINA:返回列表中的最小值,不忽略文本值和逻辑值。
格式:=mina(数值1,数值2,。。。)
数值:数值、空单元格、逻辑值或文本数值
196.MINUTE:返回以序列号表示的某时间的分钟数值,介于0到59之间的整数。
格式:minute(日期序号)
日期序号:WPS表格进行日期及时间计算的日期-时间代码,或以时间格式表示的文本,如16:48:00或4:48:00PM
格式:=minverse(数组)
数组:行数和列数相等的数值数组,或是单元格区域,或是数组常量。
198.MIRR:返回某一连续期间内现金流的修正内部收益率。函数MIRR同时考虑了投资的成本和现金再投资的收益率。
格式:=mirr(现金流,支付利率,再投资的收益率)
现金流:一个数组,或对数字单元格区域的引用。代表固定期间内一系列支出(负数)及收入(正数)值。
支付利率:现金流中投入资金和融资利率。
再投资的收益率:将各期收入净额再投资的报酬率
199.MMULT:返回两数组的矩阵乘积,结果矩阵的行数与第一组数值的行数相同,矩阵的列数与第二组数值的列数相同。
格式:=mmult(第一组数值,第二组数值)
第一组数值:要进行矩阵乘法运算的第一组数值,其列数要与第二组数值的行数相同。
第二组数值:要进行矩阵乘法运算的第二组数值,其列数要与第一组数值的行数相同。
200.MOD:返回两数相除的余数。结果的正负号与除数相同。
格式:=mod(数值,除数)
数值:被除数
201.MODE:返回在某一数组或数据区域中的众数。(出现频率最多的数)
格式:=mode(数值1,数值2,。。。)
数值:数字、名称、数组或对数值的引用。
202.MONTH:返回以序列号表示的某日期的月份,介于1到12之间的整数。
格式:=month(日期序号)
日期序号:WPS表格进行日期及时间计算的日期-时间代码。
格式:=mround(数值,舍入基数)
舍入基数:要舍入到的倍数。
204.MULTINOMIAL:返回参数和的阶乘与各参数阶乘乘积的比值。
格式:=multinomial(数值1,数值2,。。。)
数值:用于计算多项式的值。
格式:=n(值)
206.NA:返回错误值#N/A.错误值#N/A表示“无法得到有效值”。该函数不需要参数。
格式:=NA()
207.NEGBINOMDIST:返回负二项式分布函数。当成功概率为常量时,函数megbinomdist返回在到达极限次成功次数之前,出现失败次数的概率。
格式:=NEGBINOMDIST(失败次数,成功的极限次数,成功的概率)
成功的极限次数:成功次数的阀值。
成功的概率:一次试验中成功的概率,介于0与1之间。
208.NETWORKDAYS:返回两个日期之间的全部工作日数。
格式:=NETWORKDAYS(开始日期,终止日期,假期)
209.NETWORKDAYS.INTL:使用自定义周末参数返回两个日期之间的完整工作日数。
格式:=NETWORKDAYS.INTL(开始日期,终止日期,周末,假期)
210.NORMDIST:返回指定平均值和标准偏差的正态分布函数。
格式:=normdist(数值,算术平均值,标准偏差,返回累积分布函数)
211.NORMINV:返回指定平均值和标准偏差的正态累积分布函数的反函数。
格式:=norminv(分布概率,算术平均值,标准偏差)
212.NORMSDIST:返回标准正态累积分布函数,该分布的平均值为0,标准偏差为1.
格式:=normsdist(数值)
数值:用于计算标准正态分布函数的区间点。
213.NORMISNV:返回标准正态累积分布函数的反函数。该分布的平均值为0,标准偏差为1。
格式:=normisnv(分布概率)
分布概率:介于0与1之间,含0与1。
214.NOT:对参数逻辑值求反。(当要确保一个值不等于某一特定值时,可以使用not函数)
格式:=not(逻辑值)
逻辑值:可以对其进行真假判断的任何值或表达式。
215.NOW:返回日期时间格式的当前日期和时间。该函数不需要参数。
格式:=now()
216.NPER:基于固定利率及等额分期付款方式,返回某项投资的总期数。
格式:=nper(利率,定期支付额,现值,终值,是否期初支付)
217.NPV:通过使用贴现率以及一系列未来支付(负值)和收入(正值),返回一项投资的净现值。
格式:=npv(贴现率)
贴现率:一期的整个阶段的贴现率。
格式:=numberstring(数值,选项)
数值:被转换为中文字符串的数值。
选项:操作选项。1和3为中文大写,2为金额大写数值
格式:=oct2bin(八进制数,字符数)
格式:=OCT2DEC(八进制数,字符数)
格式:=OCT2HEX:(八进制数,字符数)
222.ODD:返回对指定数值沿绝对值增大方向取整后最接近的奇数。
格式:=odd(数值)
223.OFFSET:以指定的引用为参照系,通过给定的偏移量、行数及列数返回一个新的引用。
格式:=offset(参照区域,行数,列数,高度,宽度)
参照区域:作为参照系的引用区域,其左上角单元格是偏移量的起始位置。
行数:相对于引用参照系的左上角单元格,上(下)偏移的行数。
列数:相对于引用参照系的左上角单元格,左(右)偏移的行数。
高度:新引用区域的行数。
宽度:新引用区域的列数。
224.OR:在参数组中,任何一个参数逻辑值为true,即返回true;只有当所有参数逻辑值为false,才返回false。
格式:=or(逻辑值1,逻辑值2,。。。)
225.pearson:返回pearson(皮尔生)乘积矩相关系数r(值在-1到1之间,包含-1和1)
格式:=pearson(第一组数值,第二组数值)
第一组数值:一组自变量
第二组数值:一组因变量
226.Percentile:返回区域中数值的K个百分点的值。
格式:=percentile(数组,百分比)
数组:为元素间关系确定的数值数组或数值区域。
227.PERCENTRANK:返回特定数值在一个数据集中的百分比排位。
格式:=percentrank(数组,数值,小数位数)
数组:为元素间关系确定的数值数组或数值区域。
数值:为数组中需要得到其排位的某一个元素的数值。
小数位数:待返回百分比值的有效位数。此参数是可选的。如果忽略,则默认为3为小数。
228.PERMUT:返回从给定数目的对象集合中选取的若干对象的排列数。
格式:=permut(对象总数,每个排列中的对象数)
对象总数:元素总数。
每个排列中的对象数:每个排列中的元素数目。
229.PHONETIC:提取文本字符串中的拼音(furigana)字符。
格式:=phonetic(引用)
引用:需要了解其信息的单元格。
230.PI:返回数字3.14159265358979,即数学常量PI,精确到小数点后14位。该函数不需要参数。
格式:=PI()
231.PMT:基于固定利率及等额分期付款方式,返回贷款的每期付款额。
格式:=pmt(利率,支付总期数,现值,终值,是否期初支付)
232.POISSON:返回泊松分布。泊松分布通常用于预测一段时间内事件发生的次数。
格式:=poisson(数值,算术平均数,返回累积分布函数)
数值:事件出现的次数。
算术平均数:期望值(正数)
返回累积分布函数:逻辑值,指定概率分布的返回形式。
格式:=power(数值,幂)
数值:底数,任何实数
234.PPMT:基于固定利率及等额分期付款方式,返回投资在某一给定期间内的本金偿还额。
格式:=ppmt(利率,期数,支付总期数,现值,终值)
235.PRICE:返回定期付息的面值¥100的有价证券的价格。
格式:=price(成交日,到期日,利率,年收益率,面值¥100的证卷的清偿价值)
格式:=prob(x数值的区域,概率值的区域,x所属区间的下界,x所属区间的上界)
X数值的区域:具有各自不同的概率值的一组数值。
概率值的区域:与x数值区域中的值相对应的一组概率值,取值区间为0(不含)到1
237.PRODUCT:将所有以参数形式给出的数字相乘,并返回乘积值。
格式:=product(数值1,数值2,。。。)
数值:数值、逻辑值或者代表数值的字符串。
238.PROPER:将一个文本字符串的首字母及任何非字母字符之后的首字母转换成大写,将其余的字母转换成小写。
格式:=proper(字符串)
239.PV:返回投资的现值。现值为一系列未来付款的当前值的累积和。
格式:=pv(利率,支付总期数,定期支付额,终值,是否期初支付)
格式:=quartile(数组,四分位数)
数组:用来计算其四分位点的数值数组或数值区域。
四分位数:数字,按四分位从下到达依次为0到4。
241.QUOTIENT:返回商的整数部分,该函数可用于舍掉商的小数部分。
格式:=quotient(被除数,除数)
格式:=radians(角度)
角度:要转成弧度的角度值。
243.RAND:返回>=0及<=1的均匀分布随机数,每次计算工作表时都将返回一个新的数值。该函数不需要参数。
244.RANDBETWEEN:返回位于两个指定数之间的一个随机整数。每次计算工作表时都将返回一个新的数值。
格式:=randbetween(最小整数,最大整数)
245.RANK:返回某数字在一列数字中相对于其他数值的大小排名。
格式:=rank(数值,引用,排位方式)
引用:一组数或对一个数据列表的引用。非数字值将被忽略。
排位方式:指定排位的方式。如果为0或忽略,降序;非零值,升序
246.RANK.AVG:返回某数字在一列数字中相对于其他数值的大小排名;如果多个数值排名相同,则返回平均值排名。
格式:=rank.avg(数值,引用,排位方式)
247.RANK.EQ:返回某数字在一列数字中相对于其他数值的大小排名;如果多个数值排名相同,则返回改组数值的最佳排名。
格式:=rank.eq(数值,引用,排位方式)
格式:=rate(支付总期数,定期支付额,现值,终值,是否期初支付)
249.REPLACE:将一个字符串中的部分字符用另一字符串替换。按字符替换。
格式:=replace(原字符串,开始位置,字符个数,新字符串)
250.REPLACEB:将一个字符串中的部分字符用另一字符串替换。按字节替换。
格式: =replaceb(原字符串,开始位置,字符个数,新字符串)
251.REPT:根据指定的次数重复显示文本。可以通过函数REPT来不断重复显示某一文本字符串,对单元格进行填充。
格式:=rept(字符串,重复次数)
252.RIGHT:从一个文本字符串的最后一个字符开始返回指定个数的字符。按字符提取。
格式:=right(字符串,字符个数)
253.RIGHTB:从一个文本字符串的最后一个字符开始返回指定个数的字符。按字节提取。
格式:=rightb(字符串,字符个数)
254.RMB:按照货币格式及给定的小数位数,将数值转换成文本。
格式:=rmb(数值,小数位数)
格式:=roman(数值,类型)
类型:一个用于指定罗马数字类型的数字。
格式:=round(数值,小数位数)
257.ROUNDDOWN:向下(绝对值减小的方向)舍入数字。
格式:=rounddown(数值,小数位数)
格式:=roundup(数值,小数位数)
格式:=row(参照区域)
参照区域:准备求取其行号的单元格区域;如果忽略,则返回包含row函数的单元格。
格式:=rows(数组)
数组:要计算行数的数组、数组公式或是对单元格区域的引用。
261.RSQ:根据已知y值和已知x值计算得出的pearson乘积矩相关系数的平方
格式:=rsq(已知y值集合,已知x值集合)
已知值集合:一个数值数组或数值区域,可以是数值、名称、数组,或者是数值的引用。
262.RTD:从一个支持com自动化的程序中获取实时数据。
格式:=rtd(progid)
Progid:一个注册com自动化加载项的progid名称,名称放在双引号中。
263.SEARCH:返回一个指定字符或文本字符串在字符串中第一次出现的位置,从左到右查找。(忽略大小写),按字符查找。
格式:=search(要查找的字符串,被查找字符串,开始位置)
要查找的字符串:可以使用通配符?和*。如果查找?和*,则使用~?或~*。
264.SEARCHB:返回一个指定字符或文本字符串在字符串中第一次出现的位置,从左到右查找。(忽略大小写),按字节查找。
格式:=search(要查找的字符串,被查找字符串,开始位置)
265.SECOND:返回以序列号表示的某时间的秒数值,介于0到59之间的整数。
格式:=second(日期序号)
格式:=seriessum(各级乘幂的底数,首项的幂,各级乘幂的步长,各级乘幂的系数)
各级乘幂的底数:公式的计算结果为错误时要返回的值。
首项的幂:用于求平均值计算的实际单元格。如果省略,将使用区域中的单元格。
各级乘幂的步长:用于求平均值的实际单元格
各级乘幂的系数:是要为特定条件计算的单元格区域。
267.SIGN:返回数字的符号。当数字为正数时返回1,为零时返回0,为负数时返回-1。
格式:=sign(数值)
格式:=sin(数值)
数值:以弧度表示,准备求其正弦值的角度。角度*pi()/180=弧度。
格式:=sinh(数值)
数值:任意实数。
270.SKEW:返回分布的偏斜度。偏斜度反映以平均值为中心的分布的不对称程度。
格式:=skew(数值1,数值2,。。。)
数值:需要计算偏斜度的参数,也可以不用这种用逗号分隔参数的形式,而是单个数组或对数组的引用。
格式:=sln(原值,残值,折旧期限)
原值:固定资产原值
残值:固定资产使用年限终了时的估计残值。
折旧期限:固定资产进行折旧计算的周期总数,也称固定资产的生命周期。
272.SLOPE:返回根据已知y值和已知x值中的数据点拟合的线性回归直线的斜率。
格式:=slope(已知y值集合,已知x值集合)
已知y值集合:为因变量数组或数值区域,可以是数值、名称、数组、或者是数值的引用。
已知x值集合:为自变量数组或数值区域,可以是数值、名称、数组、或者是数值的引用。
格式:=small(数组,K)
数组:要求第K个最小值点的数值数组或数值区域
K:要返回的最小值点在数组或数据区域中的位次。
格式:=sqrt(数值)
数值:要对其求平方根的数值。
格式:=sqrtpi(数值)
数值:是pi的乘数。
276.STANDARDIZE:返回以指定算术平均值,和指定标准偏差的分布的正态化数值。
格式:=standardize(数值,算术平均值,标准偏差)
数值:用于求解正态分布概率的区间点。
算术平均值:分布的算术平均值
标准偏差:分布的标准方差
277.STDEV:计算基于给定样本的标准偏差。(忽略样本中的逻辑值文本。)
格式:=stdev(数值1,数值2,。。。)
数值:可以是数值,也可以是包含数值的引用。
278.STDEV.S:计算基于给定样本的标准偏差。(忽略样本中的逻辑值及文本)
格式:=stdev.s(数值1,数值2,。。。)
279.STDEVA:计算基于给定样本的标准偏差。(文本值和逻辑值也计算在内)
格式:=stdeva(数值1,数值2,数值3,。。。)
数值:可以是数字、名称或对数字的引用。
280.STDEVP:计算基于给定的样本总体的标准偏差。(忽略样本中的逻辑值及文本)
格式:=stdevp(数值1,数值2,。。。)
281.STDEVPA:计算基于给定的样本总体的标准偏差。(文本值和逻辑值也计算在内)
格式:=stdevpa(数值1,数值2,数值3,。。。)
282.STEYX:返回通过线性回归法计算每个x的y预测值时所产生的标准误差。
格式:=steyx(已知y值集合,已知x值集合)
已知y值集合:为因变量数据点数组或区域。
已知x值集合:为自变量数据点数组或区域。
283.SUBSTITUTE:将字符串中的部分字符替换成新字符串。
格式:=substitute(字符串,原字符串,新字符串,替换序号)
替换序号:为一数值,若指定的字符串在父字符串中出现多次,可以用该参数指定第几个,如果省略,则全部替换。
284.SUBTOTAL:返回数据清单或数据库中的分类汇总。
格式:=subtotal(函数序号,引用)
函数序号:是从1到11的数字,用来指定分类汇总所采用的汇总函数。
引用:要进行分类汇总的区域或引用。
格式:=sum(数值1,数值2,。。。)
数值:带求和的数值。单元格中的逻辑值和文本将被忽略。但当作为参数键入时,逻辑值和文本有效。
格式:=sumif(区域,条件,求和区域)
区域:用于条件判断的单元格区域。
条件:
以数字、表达式或文本形式定义的条件。
SUMIFS:对区域中满足多个条件的单元格求和。
格式:=sumifs(求和区域,区域1,条件1,区域2,条件2,。。。)
287.SUMPRODUCT:在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
格式:=sumproduct(数组1,数组2,数组3,。。。)
数组:所有数组的维数必须一样。
288.SUMSQ:返回所有参数的平方和。参数可以是数值、数组、名称,或者是对数值单元格的引用。
格式:=sumsq(数值1,数值2,。。。)
数值:用于平方和计算的参数,可以是数值、数组、名称,或者是数组的引用。
格式:=sumx2my2(第一组数值,第二组数值)
第一组数值:第一个数组或数值区域,可以是数值、数组、名称,或者是对数组的引用。
第二组数值:第二个数组或数值区域,可以是数值、数组、名称,或者是对数组的引用。
格式:=sumx2py2(第一组数值,第二组数值)
第一组数值:第一个数组的数值区域。
第二组数值:第二个数组的数值区域。
格式:=sumxmy2(第一组数值,第二组数值)
第一组数值:第一个数组或数值区域,可以是数值、数组、名称,或者是对数组的引用。
第二组数值:第二个数组或数值区域,可以是数值、数组、名称,或者是对数组的引用。
292.SYD:返回某项资产按年限总和折旧法计算的指定期间的折旧值。
格式:=syd(原值,残值,折旧期限,期间)
格式:=t(数值)
数值:要检测的值。
格式:=tan(数值)
数值:以弧度表示,准备求其正弦值的角度。角度*pi()/180=弧度
格式:=tanh(数值)
数值:任意实数。
296.TDIST:返回学生t分布的百分点(概率),t分布用于小样本数据集合的假设检验。
格式:=tdist(数值x,自由度,单/双(1/2)尾分布)
单/双(1/2)尾分布:指定返回的分布函数是单边还是双边分布:单边分布=1;双边分布=2.
格式:=text(值,数值格式)相当于单元格格式中的自定义。
格式:=time(小时,分,秒)
299.TIMEVALUE:返回由文本字符串所代表的时间的序列值。
格式:=timevalue(时间字符串)
时间字符串:按任何一种WPS表格时间格式表示的时间(其中的日期信息将忽略)
300.TINV:返回作为概率和自由度函数的学生t分布的t值。
格式:=tinv(分布概率,自由度)
分布概率:双尾学生t-分布的概率值,位于区间0到1(包含)之间。
301.TODAY:返回日期格式的当前日期。该函数不需要参数。
格式:=today()
302.TRANSPOSE:返回专职单元格区域,即将一行单元格区域转置成一列单元格区域,反之亦然。在行列数分别与数组的行列数相同的区域中,必须将transpose输入为数组公式。使用transpose可在工作表中转置数组的垂直和水平向。
格式:=transpose(数组)
数组:工作表中的单元格区域或数组。
格式:=trend(已知y值集合,已知x值集合,新x值集合,不强制系数为0)
304.TRIM:除了单词之间的单个空格外,清除文本中所有的空格。
格式:=trim(字符串)
字符串:要删除空格的字符串
格式:=trimmean(数组,百分比)
数组:用于截取极值后求取平均值的数值数组或数值区域。
百分比:为一分数,用于指定数据点集中所要消除的极值比例。
格式:=true()
格式:=trunc(数值,小数位数)
308.TTEST:返回与学生t检验相关的概率。可以使用函数ttest判断两个样本是否可能来自两个具有相同平均值的总体。
格式:=ttest(第一组数值,第二组数值,尾数,类型)
尾数:用于定义所返回的分布的尾数:1代表单尾;2代表双尾。
格式:=type(值)
值:任何值。
格式:=UPPER(字符串)
字符串:要转换成大写的文本字符串。
格式:=VALUE(字符串)
312.VAR:计算基于给定样本的方差。(忽略样本中的逻辑及文本)
格式:=VAR(数值1,数值2,。。。)
313.VARA:计算基于给定样本的方差。(不忽略样本中的逻辑及文本)
格式:=VARA(数值1,数值2,。。。)
314.VARP:计算基于给定样本总体的方差。(忽略文本的逻辑值及文本)
格式:=VARP(数值1,数值2,。。。)
VARPA:计算基于给定样本总体的方差。(不忽略文本的逻辑值及文本)
格式: =VARPA(数值1,数值2,。。。)
315.VDB:使用双倍余额递减法或其它指定的方法,返回指定的任何期间内(包括部分期间)的资产折旧值。函数VDB代表可变余额递减法。
格式:=VDB(原值,残值,折旧期限,起止期间,截止期间)
原值:固定资产原值。
残值:固定资产使用年限终了时的估计残值。
折旧期限:固定资产进行折旧计算的周期总数,也称固定资产的生命周期。
起止期间:进行折旧计算的开始期次,上述三者必须保持同样的单位(年月等)
316.VLOOKUP:在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。(默认情况下,表是升序的)
格式:=VLOOKUP(查找值,数据表,列序数,匹配条件)
查找值:为需要在数组第一列中查找的数组,可以为数值、引用或文本字符串。
列序数:为待返回的匹配值的列序号,为1时,返回数据表第1列中的数值。
匹配条件:精确匹配false;大致匹配true。
317.WEEKDAY:返回某日期为星期几。默认情况下,其值为1(星期天)到7(星期六)之间的整数。
格式:=WEEKDAY(日期序号,返回值类型)
日期序号:一个表示返回值类型的数字。
返回值类型:从星期日=1,到星期六=7,用1;从星期一=1到星期日=7, 用2;从星期一=0到星期六=6,用3。
318.WEEKNUM:返回一个数字,该数字代表一年中的第几周。
格式:=WEEKNUM(日期序号,返回值类型)
返回值类型:是一个确定返回值类型的数值(1或2)
319.WEIBULL:返回韦伯分布。使用此函数可以进行可靠性分析,比如计算设备的平均故障时间。
格式:=WEIBULL(数值,分布参数α,分布参数β,返回累积分布函数)
数值:用来计算分布的数值,非负。
分布参数α:是分布的参数值,为正。
分布参数β:同上。
返回累积分布函数:逻辑值,决定函数形式。累积分布函数,使用true,概率密度函数,使用false。
320.WIDECHAR:将单字节字符串转换成双字节字符串。
格式:=WIDECHAR(字符串)
321.WORKDAY:返回某日期(起始日期)之前或之后相隔指定工作日的某一日期。工作日不包括周末和专门指定的假日。在计算发票到期日,预期交货时间或工作天数时,可以使用函数workday来扣除周末或假日。
格式:=WORKDAY(开始日期,天数,假期)
开始日期:是一串代表起始日期的日期。
假期:是要从工作日日历中去除的一个或多个日期(一串数字)的可选组合,如传统假期,国家法定假日及非固定假日。
322.XIRR:返回一组不一定期发生的现金流的内部收益率。
格式:=XIRR(现金流,日期流,预估值)
现金流:是一系列按日期对应付款计划的现金流
日期流:一个数组,与现金流支付相应的支付日期表。
预估值:内部报酬率的猜测值。如果忽略,则为0.1。
格式:=XNPV(贴现率,现金流,日期流)
324.YEAR:返回以序列号表示的某日期的年份,介于1900到9999之间。
格式:=YEAR(日期序号)
325.YEARFRAC:返回开始日期和终止日期之间的天数,占全年天数的百分比。使用yearfrac工作函数可判断某一特定条件下全年效益或债务的比例。
格式:=YEARFRAC(开始日期,终止日期,基准选项)
格式:=YIELD(成交日,到期日,利率,票面价值,面值¥100的证劵的清偿价值)
格式:=ZTEST(数组,样本标准偏差,假设总体平均值)
数组:用于z检验的数值数组或数值区域。
样本标准偏差:所要检验的数值。
假设总体平均值:总体标准偏差(已知),如忽略,使用样本标准偏差。
字符 |
描述 |
\ |
将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。 |
^ |
匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。 |
$ |
匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。 |
* |
匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”。*等价于{0,}。 |
+ |
匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。 |
? |
匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。 |
{n} |
n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。 |
{n,} |
n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。 |
{n,m} |
m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。 |
? |
当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。 |
. |
匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符,请使用像“(.|\n)”的模式。 |
(pattern) |
匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\(”或“\)”。 |
(?:pattern) |
匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。 |
(?=pattern) |
正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 |
(?!pattern) |
正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始 |
(?<=pattern) |
反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。 |
(?<!pattern) |
反向否定预查,与正向否定预查类拟,只是方向相反。例如“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”,但不能匹配“2000Windows”中的“Windows”。 |
x|y |
匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。 |
[xyz] |
字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。 |
[^xyz] |
负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“p”。 |
[a-z] |
字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。 |
[^a-z] |
负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。 |
\b |
匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。 |
\B |
匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。 |
\cx |
匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。 |
\d |
匹配一个数字字符。等价于[0-9]。 |
\D |
匹配一个非数字字符。等价于[^0-9]。 |
\f |
匹配一个换页符。等价于\x0c和\cL。 |
\n |
匹配一个换行符。等价于\x0a和\cJ。 |
\r |
匹配一个回车符。等价于\x0d和\cM。 |
\s |
匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 |
\S |
匹配任何非空白字符。等价于[^ \f\n\r\t\v]。 |
\t |
匹配一个制表符。等价于\x09和\cI。 |
\v |
匹配一个垂直制表符。等价于\x0b和\cK。 |
\w |
匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。 |
\W |
匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。 |
\xn |
匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41”匹配“A”。“\x041”则等价于“\x04&1”。正则表达式中可以使用ASCII编码。. |
\num |
匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1”匹配两个连续的相同字符。 |
\n |
标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。 |
\nm |
标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。 |
\nml |
如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。 |
\un |
匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。 |
2、常用正则表达式
用户名 |
/^[a-z0-9_-]{3,16}$/ |
密码 |
/^[a-z0-9_-]{6,18}$/ |
十六进制值 |
/^#?([a-f0-9]{6}|[a-f0-9]{3})$/ |
电子邮箱 |
/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ |
URL |
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ |
IP 地址 |
/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ |
HTML 标签 |
/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ |
删除代码\\注释 |
(?<!http:|\S)//.*$ |
Unicode编码中的汉字范围 |
/^[\u2E80-\u9FFF]+$/ |
三、xlwings库
1、写
xlwings 是 Python 中操作Excel 的一个第三方库,支持.xls读写,.xlsx读写,操作非常简单,功能也很强大
1、安装库
pip3 install xlwings
2、引入库
import xlwings as xw
3、应用->工作簿->工作表->范围
应用:一个应用(一个xlwings程序):
app = xw.App(visible=True, add_book=False)
工作簿(book):
excel文件(excel程序):wb = app.books.add()
工作表(sheet):
sheet:sht = wb.sheets['sheet1']
范围:行列:
sht.range('a6').expand('table').value = [['a','b'],['d','e']]
xlwings.App(visible=True,add_book=False)
其中参数visible(表示处理过程是否可视,也就是处理Excel的过程会不会显示出来),add_book(是否打开新的Excel程序,也就是是不是打开一个新的excel窗口)
import xlwings as xw
# 写到Excel中去
# add_book也就是是否增加excel 的book
# visible=True 表示操作过程是否可显示
app = xw.App(visible=True, add_book=False)
# 工作簿
wb = app.books.add()
# 页sheet1
sht = wb.sheets['sheet1']
# 单个值插入
# sht.range('A1').value = '产品名称'
# sht.range('B1').value = '编号'
# sht.range('C1').value = '价格'
# sht.range('A2').value = '不告诉你'
# sht.range('B2').value = 'n110110'
# sht.range('C2').value = '688.26'
# sht.range('A3').value = '不告诉你1'
# sht.range('B3').value = 'n1101101'
# sht.range('C3').value = '688.261'
# 插入一行
# sht.range('a1').value = [1,2,3,4]
# 等同于
# sht.range('a1:d4').value = [1,2,3,4]
# 插入一列
# sht.range('a2').options(transpose=True).value = [5,6,7,8]
# 同时插入行列
# sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]
# 在当前目录下生成文件
wb.save('demo1.xlsx')
wb.close()
app.quit()
# import os
# path1=os.path.abspath('.') # 表示当前所处的文件夹的绝对路径
# print(path1)
# path2=os.path.abspath('..') # 表示当前所处的文件夹上一级文件夹的绝对路径
# print(path2)
# 关于路径问题,切换到指定目录即可
2、读
import xlwings as xw
app = xw.App(visible=True, add_book=False)
# 显示警报()
app.display_alerts = True
# 屏幕更新(应用中)
app.screen_updating = True
# 打开文件
wb = app.books.open('demo1.xlsx')
sht = wb.sheets['sheet1']
# 遍历读取单元格
# column_name = ['A','B',"C"]
# data_list = [] #将数据存到list中去
# for i in range(3): # 遍历行
# row_list = []
# for j in range(3): #遍历列
# str1 = column_name[j]+str(i+1)
# a = sht.range(str1).value
# row_list.append(a)
# print(a)
# pass
# data_list.append(row_list)
# pass
# print(data_list)
# 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
print(sht.range('a1:c7').value)
# 读取行:得一维列表
# print(sht.range('a1:c1').value)
# 读取列:得一维列表
# print(sht.range('a1:a7').value)
wb.save()
wb.close()
app.quit()
1、Range对象
方法
名称 |
说明 | |
---|---|---|
|
激活单个单元格,该单元格必须处于当前选定区域内。要选择单元格区域,请使用 Select 方法。返回值为Variant类型。 |
|
|
返回一个 String 值,它代表宏语言的区域引用。 |
|
|
表达式.ApplyNames(Names, IgnoreRelativeAbsolute, UseRowColumnNames, OmitColumn, OmitRow, Order, AppendLast) 表达式 一个代表 Range 对象的变量。 返回值为Variant类型。 |
|
|
更改区域中的列宽或行高以达到最佳匹配。 返回值为Variant类型。 |
|
|
计算所有打开的工作簿、工作簿中的某张特定工作表或工作表指定区域中的单元格,如下表所示。 返回值类型为Variant。 |
|
|
清除整个对象。 返回值为Variant类型。 |
|
|
清除指定区域的所有单元格批注。 |
|
|
清除区域中的公式。 返回值类型为Variant。 |
|
|
清除对象的格式设置。 返回值类型为Variant。 |
|
|
将单元格区域复制到指定的区域或剪贴板中。 返回值类型为Variant。 |
|
|
在指定区域中依据工作表中的文本标签创建名称。 返回值类型为Variant。 |
|
|
返回一个 Range 对象,该对象表示当前区域。当前区域是以空行与空列的组合为边界的区域。只读。 |
|
|
将对象剪切到剪贴板,或者将其粘贴到指定的目的地。 返回值类型为Variant。 |
|
|
删除对象。 返回值类型为Variant。 |
|
|
在区域中查找特定信息。 返回值为一个 Range 对象,它代表第一个在其中找到该信息的单元格。 |
|
|
继续由 Find 方法开始的搜索。查找匹配相同条件的下一个单元格,并返回表示该单元格的 Range 对象。该操作不影响选定内容和活动单元格。 返回值类型为Range。 |
|
|
继续由 Find 方法开始的搜索。查找匹配相同条件的上一个单元格,并返回代表该单元格的 Range 对象。该操作不影响选定内容和活动单元格。 返回值类型为Range。 |
|
|
在工作表或宏表中插入一个单元格或单元格区域,其他单元格相应移位以腾出空间。 返回值类型为Variant。 |
|
|
返回一个 Range 对象,它代表对指定区域某一偏移量处的区域。 |
|
|
调整区域内的文字,使之均衡地填充该区域。 返回值类型为Variant。 |
|
|
由指定的 Range 对象创建合并单元格。 |
|
|
返回 Range 对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。 |
|
|
按对象打印后的外观效果显示对象的预览。 返回值类型为Variant。 |
|
|
返回一个 Range 对象,它代表一个单元格或单元格区域。 |
|
|
调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。 |
|
|
在该处运行 ET 宏。区域必须位于宏表上。 |
|
|
选择对象。 返回值类型为Variant。 |
|
|
将合并区域分解为独立的单元格。 |
|
|
返回一个 Variant 型,它代表指定单元格的值。 |
属性
名称 |
说明 | |
---|---|---|
|
返回或设置一个 Variant 值,它指明当单元格中文本的对齐方式为水平或垂直等距分布时,文本是否为自动缩进。 |
|
|
如果不使用对象识别符,则该属性返回一个代表 ET 应用程序的 Application 对象。如果使用对象识别符,则该属性返回一个代表指定对象的创建程序的 Application 对象(可对一个 OLE 自动化对象使用该属性来返回该对象的应用程序)。只读。 |
|
|
返回一个 Areas 集合,该集合表示多重区域选择中的所有区域。只读。 |
|
|
返回一个 Range 对象,该对象代表指定区域中的单元格。 |
|
|
返回指定区域中第一块中的第一列的列号。Long 类型,只读。 |
|
|
返回或设置指定区域中所有列的列宽。Variant 类型,可读写。 |
|
|
返回一个 Range 对象,该对象代表指定区域中的列。 |
|
|
返回一个 Long 值,它代表集合中对象的数量。 |
|
|
返回一个 Range 对象,该对象表示包含一个单元格所有从属单元格的区域。如果有多个从属单元格,这可能有多个选择(多个 Range 对象)。Range 类型,只读。 |
|
|
返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。Range 对象,只读。 |
|
|
返回一个 Range 对象,该对象表示包含指定区域的整列(或多列)。只读。 |
|
|
返回一个 Range 对象,该对象表示包含指定区域的整行(或多行)。只读。 |
|
|
返回一个 Font 对象,它代表指定对象的字体。 |
|
|
返回或设置一个 Variant 值,它代表 A1 样式表示法和宏语言中的对象的公式。 |
|
|
返回或设置一个 Variant 值,该值代表区域的高度(以磅为单位)。 |
|
|
返回或设置一个 Variant 值,它指明是否隐藏行或列。 |
|
|
返回或设置一个 Variant 值,它代表指定对象的水平对齐方式。 |
|
|
返回或设置一个 String 值,它代表将页面另存为网页时指定单元格的识别标志。 |
|
|
返回一个 Variant 值,它代表从列 A 的左边缘到区域的左边缘的距离(以磅为单位)。 |
|
|
返回一个 Range 对象,该对象代表包含指定单元格的合并区域。如果指定的单元格不在合并区域内,则该属性返回指定的单元格。只读。Variant 类型。 |
|
|
如果区域包含合并单元格,则为 True。Variant 型,可读写。 |
|
|
返回或设置一个 Variant 值,它代表对象的名称。 |
|
|
返回或设置一个 Variant 值,它代表对象的格式代码。 |
|
|
返回指定对象的父对象。只读。 |
|
|
返回一个代表下一个单元格的 Range 对象。 |
|
|
返回区域中第一个子区域的第一行的行号。Long 类型,只读。 |
|
|
以磅为单位返回或设置指定区域中所有行的行高。如果指定区域中的各行的行高不等,则返回 null。Variant 类型,可读写。 |
|
|
||
|
返回或设置指定对象中的文本。String 型,只读。 |
|
|
返回或设置一个 Variant 值,它代表行 1 上边缘到区域上边缘的距离(以磅为单位)。 |
|
|
返回或设置单元格值。Variant 类型,可读写。 |
|
|
返回一个 Variant 值,它代表区域的宽度(以单位表示)。 |
|
|
返回一个 Worksheet 对象,该对象表示包含指定区域的工作表。只读。 |
成员方法
Range.Activate
激活单个单元格,该单元格必须处于当前选定区域内。要选择单元格区域,请使用 Select 方法。返回值为Variant类型。
语法
express.Activate()
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例选定工作表 Sheet1 上的单元格区域 A1:C3,并激活单元格 B2。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.Range("A1:C3").Select() Application.Range("B2").Activate() } |
Range.Address
返回一个 String 值,它代表宏语言的区域引用。
语法
express.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
RowAbsolute |
可选 |
Variant |
如果为 True,则以绝对引用返回引用的行部分。默认值为 True。 |
ColumnAbsolute |
可选 |
Variant |
如果为 True,则以绝对引用返回引用的列部分。默认值为 True。 |
ReferenceStyle |
可选 |
XlReferenceStyle |
引用样式。默认值为 xlA1。 |
External |
可选 |
Variant |
如果为 True,则返回外部引用。如果为 False,则返回本地引用。默认值为 False。 |
RelativeTo |
可选 |
Variant |
如果 RowAbsolute 和 ColumnAbsolute 为 False,并且 ReferenceStyle 为 xlR1C1,则必须包括相对引用的起始点。此参数是定义起始点的 Range 对象。 |
说明
如果引用包含多个单元格,RowAbsolute 和 ColumnAbsolute 将应用于所有的行和列。
示例
示例代码复制 |
/*下例对工作表 Sheet1 中的同一单元格地址使用了四种不同的表达方式。示例中的注释为将要显示于消息框中的地址。*/function test() { let mc = Application.Worksheets.Item("Sheet1").Cells.Item(1, 1) MsgBox(mc.Address()) // $A$1 MsgBox(mc.Address(false)) // $A1 MsgBox(mc.Address(undefined,undefined,xlR1C1)) // R1C1 MsgBox(mc.Address(false,false,xlR1C1,undefined,Worksheets.Item(1).Cells.Item(3, 3))) // R[-2]C[-2] } |
Range.ApplyNames
表达式.ApplyNames(Names, IgnoreRelativeAbsolute, UseRowColumnNames, OmitColumn, OmitRow, Order, AppendLast)
表达式 一个代表 Range 对象的变量。
返回值为Variant类型。
语法
express.ApplyNames(Names, IgnoreRelativeAbsolute, UseRowColumnNames, OmitColumn, OmitRow, Order, AppendLast)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Names |
可选 |
Variant |
要应用的名称数组。如果省略该参数,则工作表中所有的名称都将应用到该区域上。 |
IgnoreRelativeAbsolute |
可选 |
Variant |
要应用的名称数组。如果省略该参数,则工作表中所有的名称都将应用到该区域上。 如果为 True,则用名称取代引用,而不管名称或引用的类型如何。如果为 False,则只用绝对名称替换绝对引用,用相对名称替换相对引用,并只用混合名称替换混合引用。默认值为 True。 |
UseRowColumnNames |
可选 |
Variant |
如果为 True,则当无法找到指定区域的名称时,使用该区域所在行或列区域的名称。如果为 False,则忽略 OmitColumn 和 OmitRow 参数。默认值为 True。 |
OmitColumn |
可选 |
Variant |
如果为 True,则用行方向的名称替换整个引用。仅当引用的单元格与公式位于同一列中,且处于行方向命名的区域中时,才能省略列方向名称。默认值为 True。 |
OmitRow |
可选 |
Variant |
如果为 True,则用列方向的名称替换整个引用。仅当引用的单元格与公式位于同一行中,且处于列方向命名的区域中时,才能省略行方向名称。默认值为 True。 |
Order |
可选 |
XlApplyNamesOrder |
确定用行方向区域名称和列方向区域名称替换单元格引用时,首先列出哪个区域名称。 |
AppendLast |
可选 |
Variant |
如果为 True,则替换 Names 中的名称定义以及所定义的姓氏的定义。如果为 False,则只替换 Names 中的名称定义。默认值为 False。 |
说明
可用 Array 函数为 Names 参数创建名称列表。
如果要对整个工作表应用名称,可用 Cells.ApplyNames。
不能“取消应用”名称;要删除名称,请使用 Delete 方法。
示例
示例代码复制 |
/*本示例对整个工作表应用名称。*/Application.Cells.ApplyNames(["Sales","Profits"]) |
Range.AutoFit
更改区域中的列宽或行高以达到最佳匹配。
返回值为Variant类型。
语法
express.AutoFit()
express 一个代表 Range 对象的变量。
说明
Range 对象必须是行或行区域,或者列或列区域。否则,该方法将产生错误。
一个列宽单位等于“常规”样式中一个字符的宽度。
示例
示例代码复制 |
/*本示例调整工作表 Sheet1 中从 A 到 I 的列,以获得最适当的列宽。*/function test() { Application.Worksheets.Item("Sheet1").Columns.Item("A:I").AutoFit() } /*本示例调整工作表 Sheet1 上从 A 到 E 的列,以获得最适当的列宽,但该调整仅依据单元格区域 A1:E1 中的内容进行。*/function test() { Application.Worksheets.Item("Sheet1").Range("A1:E1").Columns.AutoFit() } |
Range.Calculate
计算所有打开的工作簿、工作簿中的某张特定工作表或工作表指定区域中的单元格,如下表所示。
返回值类型为Variant。
语法
express.Calculate()
express 一个代表 Range 对象的变量。
说明
要计算 |
依照此示例 |
所有打开的工作簿 |
Application.Calculate()(或只是Calculate()) |
指定工作表 |
Worksheets.Item(1).Calculate() |
指定区域 |
Worksheets.Item(1).Rows.Item(2).Calculate() |
示例
示例代码复制 |
/*此示例计算 Sheet1 上已用区域中 A 列、B 列和 C 列的公式。*/function test() { Application.Worksheets.Item("Sheet1").UsedRange.Columns.Item("A:C").Calculate() } |
Range.Clear
清除整个对象。
返回值为Variant类型。
语法
express.Clear()
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*此示例清除工作表 Sheet1 中 A1:G37 单元格区域的公式和格式设置。*/function test() { Application.Worksheets.Item("Sheet1").Range("A1:G37").Clear() } |
Range.ClearComments
清除指定区域的所有单元格批注。
语法
express.ClearComments()
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例清除 E5 单元格的所有批注。*/Application.Worksheets.Item(1).Range("E5").ClearComments() |
Range.ClearContents
清除区域中的公式。
返回值类型为Variant。
语法
express.ClearContents()
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*此示例清除工作表 Sheet1 上 A1:G37 单元格区域的公式,但保留其格式设置。*/function test() { Application.Worksheets.Item("Sheet1").Range("A1:G37").ClearContents() } |
Range.ClearFormats
清除对象的格式设置。
返回值类型为Variant。
语法
express.ClearFormats()
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*此示例清除工作表 Sheet1 上 A1:G37 单元格区域的所有格式设置。*/function test() { Application.Worksheets.Item("Sheet1").Range("A1:G37").ClearFormats() } /*此示例清除工作表 Sheet1 上第一个嵌入式图表的格式设置。*/function test() { Application.Worksheets.Item("Sheet1").ChartObjects(1).Chart.ChartArea.ClearFormats() } |
Range.Copy
将单元格区域复制到指定的区域或剪贴板中。
返回值类型为Variant。
语法
express.Copy(Destination)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Destination |
可选 |
Variant |
指定区域要复制到的新域。如果省略此参数,ET 会将区域复制到剪贴板。 |
示例
示例代码复制 |
/*此示例将工作表 Sheet1 上单元格区域 A1:D4 中的公式复制到工作表 Sheet2 上的单元格区域 E5:H8 中。*/Application.Worksheets.Item("Sheet1").Range("A1:D4").Copy(Worksheets.Item("Sheet2").Range("E5")) |
Range.CreateNames
在指定区域中依据工作表中的文本标签创建名称。
返回值类型为Variant。
语法
express.CreateNames(Top, Left, Bottom, Right)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Top |
可选 |
Variant |
如果该值为 True,则使用顶部行中的标签创建名称。默认值为 False。 |
Left |
可选 |
Variant |
如果该值为 True,则使用左侧列中的标签创建名称。默认值为 False。 |
Bottom |
可选 |
Variant |
如果该值为 True,则使用底部行中的标签创建名称。默认值为 False。 |
Right |
可选 |
Variant |
如果该值为 True,则使用右侧列中的标签创建名称。默认值为 False。 |
说明
如果未指定 Top、Left、Bottom 或 Right 之一,ET 将根据指定区域的形状猜测文本标志。
示例
示例代码复制 |
/*本示例用单元格区域 A1:A3 中的文字创建区域 B1:B3 的名称。注意,指定区域时必须包括那些含有名称文字的单元格,即便只是为单元格区域 B1:B3 创建名称。*/function test() { let rangeToName = Application.Worksheets.Item("Sheet1").Range("A1:B3") rangeToName.CreateNames(null, true) } |
Range.CurrentRegion
返回一个 Range 对象,该对象表示当前区域。当前区域是以空行与空列的组合为边界的区域。只读。
语法
express.CurrentRegion()
express 一个代表 Range 对象的变量。
说明
该属性对于许多自动展开选择以包括整个当前区域的操作很有用,如 AutoFormat 方法。
该属性不能用于被保护的工作表。
示例
示例代码复制 |
/*本示例选定工作表 Sheet1 上的当前区域。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.ActiveCell.CurrentRegion.Select() } /*本示例假定在 Sheet1 中有一个包含标题行的表。本示例选定该表,但不选定标题行。运行本示例之前,活动单元格必须处于该表中。*/function test() { let tbl = Application.ActiveCell.CurrentRegion tbl.Offset(1, 0).Resize(tbl.Rows.Count-1,tbl.Columns.Count).Select() } |
Range.Cut
将对象剪切到剪贴板,或者将其粘贴到指定的目的地。
返回值类型为Variant。
语法
express.Cut(Destination)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Destination |
可选 |
Variant |
应在其中粘贴对象的目标区域。如果省略此参数,区域对象会被剪切到剪贴板。 |
说明
剪切的区域必须由相邻的单元格组成。
Range.Delete
删除对象。
返回值类型为Variant。
语法
express.Delete(Shift)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Shift |
可选 |
Variant |
仅用于 Range 对象。指定如何调整单元格以替换删除的单元格。可以为以下 XlDeleteShiftDirection 常量之一:xlShiftToLeft 或 xlShiftUp。如果省略此参数,ET 将根据区域的形状确定调整方式。 |
Range.Find
在区域中查找特定信息。
返回值为一个 Range 对象,它代表第一个在其中找到该信息的单元格。
语法
express.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
What |
可选 |
Variant |
要搜索的数据。可为字符串或任意 ET 数据类型。 |
After |
可选 |
Variant |
表示搜索过程将从其之后开始进行的单元格。此单元格对应于从用户界面搜索时的活动单元格的位置。请注意:After 必须是区域中的单个单元格。要记住搜索是从该单元格之后开始的;直到此方法绕回到此单元格时,才对其进行搜索。如果不指定该参数,搜索将从区域的左上角的单元格之后开始。 |
LookIn |
可选 |
Variant |
信息类型。 |
LookAt |
可选 |
Variant |
可为以下 XlLookAt 常量之一:xlWhole 或 xlPart。 |
SearchOrder |
可选 |
Variant |
可为以下 XlSearchOrder 常量之一:xlByRows 或 xlByColumns。 |
SearchDirection |
可选 |
XlSearchDirection |
搜索的方向。 |
MatchCase |
可选 |
Variant |
如果为 True,则搜索区分大小写。默认值为 False。 |
MatchByte |
可选 |
Variant |
只在已经选择或安装了双字节语言支持时适用。如果为 True,则双字节字符只与双字节字符匹配。如果为 False,则双字节字符可与其对等的单字节字符匹配。 |
SearchFormat |
可选 |
Variant |
搜索的格式。 |
说明
如果未发现匹配项,则返回 Nothing。Find 方法不影响选定区域或当前活动的单元格。
每次使用此方法后,参数 LookIn、LookAt、SearchOrder 和 MatchByte 的设置都将被保存。如果下次调用此方法时不指定这些参数的值,就使用保存的值。设置这些参数将更改“查找”对话框中的设置,如果省略这些参数,更改“查找”对话框中的设置将更改使用的保存值。要避免出现这一问题,每次使用此方法时请明确设置这些参数。
使用 FindNext 和 FindPrevious 方法可重复搜索。
当搜索到指定查找区域的末尾时,此方法将绕回到区域的开始位置继续搜索。发生绕回后,要停止搜索,可保存第一个找到的单元格地址,然后测试后面找到的每个单元格地址是否与其相同。
若要对单元格进行模式更为复杂的搜索,请结合使用 For Each...Next 语句和 Like 运算符。例如,下列代码在单元格区域 A1:C5 中搜索字体名称以“Cour”开始的单元格。当 ET 找到匹配单元格以后,就将其字体改为 Times New Roman。
For Each c In [A1:C5] If c.Font.Name Like "Cour*" Then c.Font.Name = "Times New Roman" End If Next
示例
示例代码复制 |
/*本示例在第一个工作表的单元格区域 A1:A500 中查找包含值 2 的所有单元格,并将这些单元格的值更改为 5。*/function test() { let add = Application.Worksheets.Item(1).Range("A1:A500") let c = add.Find(2,undefined,xlValues) if(c != null) { let firstAddress = c.Address do { c.Value2 = 5 c = add.FindNext(c) }while(c != null && c.Address != firstAddress) } } |
Range.FindNext
继续由 Find 方法开始的搜索。查找匹配相同条件的下一个单元格,并返回表示该单元格的 Range 对象。该操作不影响选定内容和活动单元格。
返回值类型为Range。
语法
express.FindNext(After)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
After |
可选 |
Variant |
指定一个单元格,查找将从该单元格之后开始。此单元格对应于从用户界面搜索时的活动单元格位置。注意,After 必须是查找区域中的单个单元格。注意,搜索是从该单元格之后开始的;直到本方法环绕到此单元格时,才检测其内容。如果未指定本参数,查找将从区域的左上角单元格之后开始。 |
说明
当查找到指定查找区域的末尾时,本方法将环绕至区域的开始继续搜索。发生环绕后,为停止查找,可保存第一次找到的单元格地址,然后测试下一个查找到的单元格地址是否与其相同。
示例
示例代码复制 |
/*本示例在单元格区域 A1:A500 中查找值为 2 的单元格,并将这些单元格的值变为 5。*/function test() { let add = Application.Worksheets.Item(1).Range("A1:A500") let c = add.Find(2,undefined,xlValues) if(c != null) { let firstAddress = c.Address do { c.Value2 = 5 c = add.FindNext(c) }while(c != null && c.Address != firstAddress) } } |
Range.FindPrevious
继续由 Find 方法开始的搜索。查找匹配相同条件的上一个单元格,并返回代表该单元格的 Range 对象。该操作不影响选定内容和活动单元格。
返回值类型为Range。
语法
express.FindPrevious(After)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
After |
可选 |
Variant |
指定一个单元格,查找将从该单元格之前开始。此单元格对应于从用户界面搜索时的活动单元格的位置。请注意:After 必须是区域中的单个单元格。注意,搜索是从该单元格之前开始的;直到本方法环绕到此单元格时,才检测其内容。如果未指定本参数,查找将从区域的左上角单元格之前开始。 |
说明
当查找到指定查找区域的起始位置时,本方法将环绕至区域的末尾继续搜索。发生绕回后,要停止搜索,可保存第一个找到的单元格地址,然后测试后面找到的每个单元格地址是否与其相同。
示例
示例代码复制 |
/*本示例演示 FindPrevious 方法如何与 Find 方法和 FindNext 方法一起使用。运行本示例之前,请确保工作表 Sheet1 的 B 列中至少出现过两次“Phoenix”单词。*/function test() { let fc = Application.Worksheets.Item("Sheet1").Columns.Item("B").Find("Phoenix") MsgBox("The first occurrence is in cell " + fc.Address) let Mc = Application.Worksheets.Item("Sheet1").Columns.Item("B").FindNext(fc) MsgBox("The next occurrence is in cell " + Mc.Address) let gc = Application.Worksheets.Item("Sheet1").Columns.Item("B").FindPrevious(fc) MsgBox("The previous occurrence is in cell " + gc.Address) } |
Range.Insert
在工作表或宏表中插入一个单元格或单元格区域,其他单元格相应移位以腾出空间。
返回值类型为Variant。
语法
express.Insert(Shift, CopyOrigin)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Shift |
可选 |
Variant |
指定单元格的调整方式。可为以下 XlInsertShiftDirection 常量之一:xlShiftToRight 或 xlShiftDown。如果省略此参数,ET 将根据区域的形状确定调整方式。 |
CopyOrigin |
可选 |
Variant |
复制的起点。 |
Range.Item
返回一个 Range 对象,它代表对指定区域某一偏移量处的区域。
语法
express.Item(RowIndex, ColumnIndex)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
RowIndex |
必选 |
Variant |
要访问的单元格的索引号,顺序为从左到右,然后往下。 Range.Item(1) 返回区域左上角单元格; Range.Item(2) 返回紧靠左上角单元格右侧的单元格。 |
ColumnIndex |
可选 |
Variant |
指明要访问的单元格所在列的列号的数字或字符串,1 或 “A”表示区域中的第一列。 |
说明
语法 1 使用行号和列号或列标作为索引参数。关于此语法的详细信息,请参阅 Range 对象。RowIndex 和 ColumnIndex 参数为相对偏移量。换句话说,如果 RowIndex 指定为 1,则返回区域内第一行中的单元格,而非工作表的第一行。例如,如果选定区域为单元格 C3,则 Selection.Cells(2, 2) 返回单元格 D4(使用 Item 属性可在原始区域之外进行索引)。
示例
示例代码复制 |
/*此示例基于单元格 A1 的内容填写 Sheet1 的单元格区域 A2。*/function test() { Application.Worksheets.Item("Sheet1").Range("A1").Item(2).FillDown() } |
Range.Justify
调整区域内的文字,使之均衡地填充该区域。
返回值类型为Variant。
语法
express.Justify()
express 一个代表 Range 对象的变量。
说明
如果区域不够大,ET 将显示一个消息,通知您文本将延伸到区域的下方。如果单击“确定”按钮,被调整的文本将替换超出选定区域的单元格的内容。为防止该消息出现,请将 DisplayAlerts 属性值设置为 False。设置该属性后,文本将始终替换区域下方单元格的内容。
示例
示例代码复制 |
/*本示例调整工作表 Sheet1 上单元格 A1 中的文字。*/function test() { Application.Worksheets.Item("Sheet1").Range("A1").Justify() } |
Range.Merge
由指定的 Range 对象创建合并单元格。
语法
express.Merge(Across)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Across |
可选 |
Variant |
如果为 True,则将指定区域中每一行的单元格合并为一个单独的合并单元格。默认值是 False。 |
说明
合并区域的值在该区域左上角的单元格中指定。
Range.Offset
返回 Range 对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。
语法
express.Offset(RowOffset, ColumnOffset)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
RowOffset |
可选 |
Variant |
区域偏移的行数(正数、负数或 0(零))。正数表示向下偏移,负数表示向上偏移。默认值是 0。 |
ColumnOffset |
可选 |
Variant |
区域偏移的列数(正数、负数或 0(零))。正数表示向右偏移,负数表示向左偏移。默认值是 0。 |
示例
示例代码复制 |
/*此示例激活 Sheet1 上活动单元格向右偏移三列、向下偏移三行处的单元格。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.ActiveCell.Offset(3,3).Activate() } /*此示例假设 Sheet1 中包含一个具有标题行的表格。此示例先选定该表格,但并不选择行首。运行此示例之前,活动单元格必须位于表格中。*/function test() { let tbl = Application.ActiveCell.CurrentRegion tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1,tbl.Columns.Count).Select() } |
Range.PrintPreview
按对象打印后的外观效果显示对象的预览。
返回值类型为Variant。
语法
express.PrintPreview(EnableChanges)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
EnableChanges |
可选 |
Variant |
传递 Boolean 值,以指定用户是否可更改边距和打印预览中可用的其他页面设置选项。 |
示例
示例代码复制 |
/*此示例在打印预览中显示工作表 Sheet1。*/Application.Worksheets.Item("Sheet1").PrintPreview() |
Range.Range
返回一个 Range 对象,它代表一个单元格或单元格区域。
语法
express.Range(Cell1, Cell2)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Cell1 |
必选 |
Variant |
区域名称。必须为采用宏语言的 A1 样式引用。可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。也可包括货币符号,但它们会被忽略掉。您可以在区域中任一部分使用局部定义名称。如果使用名称,则假定该名称使用的是宏语言。 |
Cell2 |
可选 |
Variant |
区域左上角和右下角的单元格。可以是一个包含单个单元格、整列或整行的 Range 对象,或者也可以是一个用宏语言为单个单元格命名的字符串。 |
说明
如果在没有对象识别符时使用,则该属性是 ActiveSheet.Range 的快捷方式(它返回活动表的一个区域,如果活动表不是一张工作表,则该属性无效)。
当应用于 Range 对象时,该属性与 Range 对象相关。例如,如果选中单元格 C3,那么 Selection.Range("B1") 返回单元格 D3,因为它同 Selection 属性返回的 Range 对象相关。此外,代码 ActiveSheet.Range("B1") 总是返回单元格 B1。
示例
示例代码复制 |
/*此示例将 Sheet1 上 A1 单元格的值设置为 3.14159。*/Application.Worksheets.Item("Sheet1").Range("A1").Value2 = 3.14159 /*此示例在 Sheet1 的 A1 单元格中创建一个公式。*/Application.Worksheets.Item("Sheet1").Range("A1").Formula = "=10*RAND()" /*此示例在 Sheet1 上的单元格区域 A1:D10 中进行循环。如果某个单元格的值小于 0.001,则此代码将用 0(零)来取代该值。*/function test() { let c = Application.Worksheets.Item("Sheet1").Range("A1:D10") for(let i = 1; i <= c.Rows.Count;i++) { for(let j = 1 ;j <= c.Columns.Count;j++) { if(c.Item(i,j).Value2 < 0.001) { c.Item(i,j).Value2 = 0 } } } } /*此示例在名为“TestRange”的区域上进行循环,并显示该区域中空白单元格的个数。*/function test() { let numBlanks = 0 let c = Application.Range("TestRange") for(let i = 1 ; i <= c.Rows.Count; i++) { for(let j = 1; j <= c.Columns.Count; j++) { if(c.Item(i,j).Value2 == null) { numBlanks = numBlanks + 1 } } } MsgBox("There are " + numBlanks + " empty cells in this range") } /*此示例将 Sheet1 中单元格区域 A1:C5 上的字体样式设置为斜体。此示例使用 Range 属性的语法 2。*/Application.Worksheets.Item("Sheet1").Range(Cells.Item(1, 1), Cells.Item(5, 3)).Font.Italic = true |
Range.Resize
调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。
语法
express.Resize(RowSize, ColumnSize)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
RowSize |
可选 |
Variant |
新区域中的行数。如果省略该参数,则该区域中的行数保持不变。 |
ColumnSize |
可选 |
Variant |
新区域中的列数。如果省略该参数。则该区域中的列数保持不变。 |
示例
示例代码复制 |
/*本示例调整 Sheet1 中选定区域的大小,使之增加一行和一列。*/function test() { Application.Worksheets.Item("Sheet1").Activate() numRows = Application.Selection.Rows.Count numColumns = Application.Selection.Columns.Count Application.Selection.Resize(numRows + 1, numColumns + 1).Select() } /*本示例假定在 Sheet1 中有一个包含标题行的表。本示例选定该表,但不选定标题行。运行本示例之前,活动单元格必须处于该表中。*/function test() { let tbl = Application.ActiveCell.CurrentRegion tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1,tbl.Columns.Count).Select() } |
Range.Run
在该处运行 ET 宏。区域必须位于宏表上。
语法
express.Run(Arg1, ..., Arg30)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Arg1 |
可选 |
Variant |
传递给函数的参数。 |
... |
可选 |
Variant |
传递给函数的参数。 |
Arg30 |
可选 |
Variant |
传递给函数的参数。 |
说明
此方法不可使用命名参数,参数必须通过位置进行传递。
Run 方法返回被调用的宏返回的任何值。如果将对象作为参数传递给宏,该对象将转换为相应的值(通过对该对象应用 Value 属性)。这意味着不能用 Run 方法将对象传递给宏。
Range.Select
选择对象。
返回值类型为Variant。
语法
express.Select()
express 一个代表 Range 对象的变量。
说明
要选择单元格或单元格区域,请使用 Select 方法。要使单个单元格成为活动单元格,请使用 Activate 方法。
Range.UnMerge
将合并区域分解为独立的单元格。
语法
express.UnMerge()
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例将包含单元格 A3 的合并区域分解。*/function test() { if(Application.Range("a3").MergeCells){ Application.Range("a3").MergeArea.UnMerge() } else { MsgBox( "not merged") } } |
Range.Value
返回一个 Variant 型,它代表指定单元格的值。
语法
express.Value(RangeValueDataType)
express 一个代表 Range 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
RangeValueDataType |
可选 |
Variant |
区域值数据类型。可以为 xlRangeValueDataType 常量。 |
说明
用 XML 电子表格文件中的内容设置单元格区域时,只使用工作簿中第一张工作表中的值。无法设置或得到以 XML 电子表格格式表示的不相连的单元格区域。
JSAPI里的Value是个方法,可以进行取值,不能进行赋值。要给单元格赋值,请用Range.Value2属性。
示例
示例代码复制 |
/*本示例获取 Sheet1 上 A1 单元格的值,赋给变量"rngValue"。*/let rngValue = Application.Worksheets.Item("Sheet1").Range("A1").Value() |
成员属性
Range.AddIndent
返回或设置一个 Variant 值,它指明当单元格中文本的对齐方式为水平或垂直等距分布时,文本是否为自动缩进。
语法
express.AddIndent
express 一个代表 Range 对象的变量。
说明
如果将此属性的值设为 True,那么在单元格中文本的对齐方式设为水平或垂直等距分布时,将自动缩进文本。
要将文本对齐方式设为等距分布,可在 Orientation 属性的值为 xlVertical 时,将 VerticalAlignment 属性设为 xlVAlignDistributed;在 Orientation 属性的值为 xlHorizontal 时,将 HorizontalAlignment 属性设为 xlHAlignDistributed。
示例
示例代码复制 |
/*此示例将 Sheet1 的单元格 A1 中文本的水平对齐方式设置为等距分布,然后缩进该文本。*/function test() { Application.Worksheets.Item("Sheet1").Range("A1").HorizontalAlignment = xlHAlignDistributed Application.Worksheets.Item("Sheet1").Range("A1").AddIndent = true } |
Range.Application
如果不使用对象识别符,则该属性返回一个代表 ET 应用程序的 Application 对象。如果使用对象识别符,则该属性返回一个代表指定对象的创建程序的 Application 对象(可对一个 OLE 自动化对象使用该属性来返回该对象的应用程序)。只读。
语法
express.Application
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例显示一条有关创建 myObject 的应用程序的消息。*/function test() { let myObject = ActiveWorkbook if (myObject.Application.Value == "ET") { MsgBox("This is an ET Application object.") } else { MsgBox("This is not an ET Application object.") } } |
Range.Areas
返回一个 Areas 集合,该集合表示多重区域选择中的所有区域。只读。
语法
express.Areas
express 一个代表 Range 对象的变量。
说明
对于单一选择区域,Areas 属性返回只包含一个对象的集合,即原始 Range 对象本身。对于多重选择区域,Areas 属性返回一个集合,该集合包含与每个选定区域相对应的对象。
示例
示例代码复制 |
/*本示例在用户选定多个区域并试图执行某一命令时显示提示信息。该示例必须在工作表上运行。*/function test() { if(Application.Selection.Areas.Count > 1) { MsgBox("Cannot do this to a multi-area selection.") } } |
Range.Cells
返回一个 Range 对象,该对象代表指定区域中的单元格。
语法
express.Cells
express 一个代表 Range 对象的变量。
说明
因为 Item 属性是 Range 对象的默认属性,所以可以在 Cells 关键字后面紧接着指定行和列索引。有关详细信息,请参阅 Item 属性和本主题的示例。
在不使用对象识别符的情况下,使用此属性将返回一个 Range 对象,它代表活动工作表中所有的单元格。
示例
示例代码复制 |
/*本示例将 Sheet1 上单元格区域 A1: C5 的字体样式设置为斜体。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.Worksheets.Item("Sheet1").Range(Cells.Item(1, 1), Cells.Item(5, 3)).Font.Italic = true } /*本示例搜索列“myRange”中的数据。如果发现某单元格的值与上面的一个单元格的值相等,则本示例将显示这个包含重复数据的单元格的地址。*/function test() { let r = Range("myRange") for(let n = 1;n<=r.Rows.Count;n++) { if(r.Cells.Item(n, 1).Value2 == r.Cells.Item(n + 1, 1).Value2) { MsgBox("Duplicate data in " + r.Cells.Item(n + 1, 1).Address()) } } } |
Range.Column
返回指定区域中第一块中的第一列的列号。Long 类型,只读。
语法
express.Column
express 一个代表 Range 对象的变量。
说明
A 列返回 1,B 列返回 2,依此类推。
若要返回区域中最后一列的列号,请使用下列语句。
myRange.Columns(myRange.Columns.Count).Column
示例
示例代码复制 |
/*本示例将工作表 Sheet1 上每隔一列的列宽设置为 4 磅。*/function test() { let col = Application.Worksheets.Item("Sheet1").Columns for (let i = 1; i <= col.Count; i++) { if ((col.Item(i).Column) % 2 == 0) { col.Item(i).ColumnWidth = 4 } } } |
Range.ColumnWidth
返回或设置指定区域中所有列的列宽。Variant 类型,可读写。
语法
express.ColumnWidth
express 一个代表 Range 对象的变量。
说明
一个列宽单位等于“常规”样式中一个字符的宽度。对于比例字体,则使用字符 0(零)的宽度。
使用 Width 属性可返回以磅为单位的列宽。
如果区域中所有列的列宽都相等,ColumnWidth 属性返回该宽度值。如果区域中的列宽不等,该属性返回 null。
示例
示例代码复制 |
/*本示例使工作表 Sheet1 上 A 列的列宽加倍。*/function test() { let itm = Application.Worksheets.Item("Sheet1").Columns.Item("A") itm.ColumnWidth = itm.ColumnWidth * 2 } |
Range.Columns
返回一个 Range 对象,该对象代表指定区域中的列。
语法
express.Columns
express 一个代表 Range 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Columns。
此属性在应用于一个是多重选定区域的 Range 对象时,会只从该区域的第一个子区域中返回列。例如,如果 Range 对象有两个子区域 A1:B2 和 C3:D4,那么,Selection.Columns.Count 的返回值是 2,而不是 4。若要对一个可能包含多重选定区域的区域使用此属性,请测试 Areas.Count 以确定此区域内是否包含多个子区域。如果包含,请对此区域内的每个子区域进行循环。
示例
示例代码复制 |
/*此示例将名为“myRange”区域第一列中每一单元格的值置为 0(零〕。*/Application.Range("myRange").Columns.Item(1).Value2 = 0 /*此示例显示 Sheet1 上选定区域中的列数。如果选择了多个子区域,此示例将对每一个子区域进行循环。*/function test() { Application.Worksheets.Item("Sheet1").Activate() let areaCount = Application.Selection.Areas.Count MsgBox(areaCount) if (areaCount <= 1) { MsgBox("The selection contains " + Application.Selection.Columns.Count + " columns.") } else { for (let i = 1; i <= areaCount; i++) { MsgBox("Area " + i + " of the selection contains " + Application.Selection.Areas.Item(i).Columns.Count + " columns.") } } } |
Range.Count
返回一个 Long 值,它代表集合中对象的数量。
语法
express.Count
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*此示例显示 Sheet1 上选定区域中的列数。此示例还将检测选定区域中是否包含多重选定区域,如果包含,则对多重选定区域中每一子区域进行循环。*/function test() { Application.Worksheets.Item("Sheet1").Activate() let iAreaCount = Application.Selection.Areas.Count if(iAreaCount <= 1) { MsgBox("The selection contains " + Application.Selection.Columns.Count + " columns.") } else { for(let i = 1;i<=iAreaCount;i++) { MsgBox("Area " + i + " of the selection contains " + Application.Selection.Areas.Item(i).Columns.Count + " columns.") } } } |
Range.Dependents
返回一个 Range 对象,该对象表示包含一个单元格所有从属单元格的区域。如果有多个从属单元格,这可能有多个选择(多个 Range 对象)。Range 类型,只读。
语法
express.Dependents
express 一个代表 Range 对象的变量。
说明
Dependents 属性仅在活动工作表中有效,不能追踪远程引用。
示例
示例代码复制 |
/*本示例选定工作表 Sheet1 中单元格 A1 的从属单元格。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.Range("A1").Dependents.Select() } |
Range.End
返回一个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。Range 对象,只读。
语法
express.End
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。*/Application.Range("B4").End(xlUp).Select() /*本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。*/Application.Range("B4").End(xlToRight).Select() /*本示例将选定区域从单元格 B4 延伸至第四行最后一个包含数据的单元格。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.Range("B4", Range("B4").End(xlToRight)).Select() } |
Range.EntireColumn
返回一个 Range 对象,该对象表示包含指定区域的整列(或多列)。只读。
语法
express.EntireColumn
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例对包含活动单元格的列中的第一个单元格赋值。本示例必须在工作表上运行。*/Application.ActiveCell.EntireColumn.Cells.Item(1, 1).Value2 = 5 |
Range.EntireRow
返回一个 Range 对象,该对象表示包含指定区域的整行(或多行)。只读。
语法
express.EntireRow
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例对包含活动单元格的行中的第一个单元格赋值。本示例必须在工作表上运行。*/Application.ActiveCell.EntireRow.Cells.Item(1, 1).Value2 = 5 |
Range.Font
返回一个 Font 对象,它代表指定对象的字体。
语法
express.Font
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*此示例判断单元格 A1 的字体名称是否为 Arial,并通知用户。*/function CheckFont(){ Application.Range("A1").Select()
// Determine if the font name for selected cell is Arial. if(Application.Range("A1").Font.Name == "Arial") { MsgBox("The font name for this cell is 'Arial'") } else { MsgBox("The font name for this cell is not 'Arial'") } } |
Range.Formula
返回或设置一个 Variant 值,它代表 A1 样式表示法和宏语言中的对象的公式。
语法
express.Formula
express 一个代表 Range 对象的变量。
说明
此属性对于 OLAP 数据源无效。
如果单元格包含一个常量,此属性返回该常量。如果单元格为空,此属性返回一个空字符串。如果单元格包含公式,Formula 属性将该公式作为字符串返回,所用格式与在编辑栏(包括等号)中显示时的格式相同。
如果将单元格的值或者公式设置为日期类型,则 ET 将检查此单元格的数字格式是否符合日期或者时间格式。如果不符合,ET 将把数字格式设置为默认的短日期格式。
如果指定区域是一维或二维区域,则可将公式指定为 Visual Basic 中相同维数的数组。同样,也可在 Visual Basic 数组中使用公式。
如果为多单元格区域设置公式,则会用公式填充该区域所有的单元格。
示例
示例代码复制 |
/*此示例设置 Sheet1 中 A1 单元格的公式。*/Application.Worksheets.Item("Sheet1").Range("A1").Formula = "=$A$4+$A$10" |
Range.Height
返回或设置一个 Variant 值,该值代表区域的高度(以磅为单位)。
语法
express.Height
express 一个代表 Range 对象的变量。
Range.Hidden
返回或设置一个 Variant 值,它指明是否隐藏行或列。
语法
express.Hidden
express 一个代表 Range 对象的变量。
说明
将此属性设置为 True 以隐藏行或列。指定的区域必须占据整个行或整个列。
请不要将此属性与 FormulaHidden 属性混淆。
示例
示例代码复制 |
/*此示例隐藏 Sheet1 的 C 列。*/Application.Worksheets.Item("Sheet1").Columns.Item("C").Hidden = true |
Range.HorizontalAlignment
返回或设置一个 Variant 值,它代表指定对象的水平对齐方式。
语法
express.HorizontalAlignment
express 一个代表 Range 对象的变量。
说明
此属性的值可设为以下常量之一:
xlCenter |
xlDistributed |
xlJustify |
xlLeft |
xlRight |
某些常量可能不可用,这取决于所选择或安装的语言支持(例如,美国英语)。
Range.ID
返回或设置一个 String 值,它代表将页面另存为网页时指定单元格的识别标志。
语法
express.ID
express 一个代表 Range 对象的变量。
说明
可将 ID 标签用作其他 HTML 文档或相同网页上的超链接引用。
示例
示例代码复制 |
/*此示例将活动工作表上 A1 单元格的 ID 设置为“target”。*/Application.ActiveSheet.Range("A1").ID = "target" /*之后,将文档另存为网页,并将下面的 HTML 行添加到网页中。 然后,当用户在 Web 浏览器中查看该页并用鼠标单击该超链接时,浏览器将显示该单元格。*/ <A HREF="#target">Quarterly earnings</A> |
Range.Left
返回一个 Variant 值,它代表从列 A 的左边缘到区域的左边缘的距离(以磅为单位)。
语法
express.Left
express 一个代表 Range 对象的变量。
说明
如果该区域不连续,则使用第一块区域。如果该区域有若干列宽,则使用区域中最左边的列。
Range.MergeArea
返回一个 Range 对象,该对象代表包含指定单元格的合并区域。如果指定的单元格不在合并区域内,则该属性返回指定的单元格。只读。Variant 类型。
语法
express.MergeArea
express 一个代表 Range 对象的变量。
说明
MergeArea 属性只应用于单个单元格区域。
示例
示例代码复制 |
/*本示例为包含单元格 A3 的合并区域赋值。*/function test() { let ma = Application.Range("a3").MergeArea if(ma.Address == "$A$3") { MsgBox("not merged") } else { ma.Cells.Item(1, 1).Value2 = "42" } } |
Range.MergeCells
如果区域包含合并单元格,则为 True。Variant 型,可读写。
语法
express.MergeCells
express 一个代表 Range 对象的变量。
说明
选定包含合并单元格的区域时,所选定的区域可能与所期望选定的区域不同。使用 Address 属性检验选定区域的地址。
示例
示例代码复制 |
/*本示例为包含单元格 A3 的合并区域赋值。*/function test() { let ma = Application.Range("a3").MergeArea if(Application.Range("a3").MergeCells) { MsgBox(123) ma.Cells.Item(1, 1).Value2 = "42" } } |
Range.Name
返回或设置一个 Variant 值,它代表对象的名称。
语法
express.Name
express 一个代表 Range 对象的变量。
Range.NumberFormat
返回或设置一个 Variant 值,它代表对象的格式代码。
语法
express.NumberFormat
express 一个代表 Range 对象的变量。
说明
如果指定区域中的所有单元格包含不同的数字格式,则此属性返回 Null。
格式代码与“设置单元格格式”对话框中的“格式代码”选项是同一个字符串。Format 函数使用的格式代码字符串与 NumberFormat 和 NumberFormatLocal 属性使用的格式代码字符串不同。
示例
示例代码复制 |
/*以下这些示例分别对 Sheet1 中的 A17 单元格、第一行和 C 列的数字格式进行设置。*/function test() { Application.Worksheets.Item("Sheet1").Range("A17").NumberFormat = "General" Application.Worksheets.Item("Sheet1").Rows.Item(1).NumberFormat = "hh:mm:ss" Application.Worksheets.Item("Sheet1").Columns.Item("C").NumberFormat = "$#,##0.00_);[Red]($#,##0.00)" } |
Range.Parent
返回指定对象的父对象。只读。
语法
express.Parent
express 一个代表 Range 对象的变量。
Range.Previous
返回一个代表下一个单元格的 Range 对象。
语法
express.Previous
express 一个代表 Range 对象的变量。
说明
如果指定对象为区域,则此属性的作用是仿效 Shift+Tab;但此属性只是返回上一单元格,并不选定它。
在保护工作表上,该属性返回上一个未锁定的单元格。在未保护的工作表上,该属性通常返回指定单元格左侧相邻的单元格。
示例
示例代码复制 |
/*此示例选定 sheet1 中上一个未锁定单元格。如果 sheet1 未保护,选定的单元格将是紧靠活动单元格左边的单元格。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.ActiveCell.Previous.Select() } |
Range.Row
返回区域中第一个子区域的第一行的行号。Long 类型,只读。
语法
express.Row
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例将工作表 sheet1 中每隔一行的行高设置为 4 磅。*/function test() { let rw = Application.Worksheets.Item("Sheet1").Rows for(let i = 1; i <= rw.Count; i++) { if((rw.Item(i).Row) % 2 == 0) { rw.Item(i).RowHeight = 4 } } } |
Range.RowHeight
以磅为单位返回或设置指定区域中所有行的行高。如果指定区域中的各行的行高不等,则返回 null。Variant 类型,可读写。
语法
express.RowHeight
express 一个代表 Range 对象的变量。
说明
可使用 Height 属性返回整个单元格区域的高度。
以下是 RowHeight 和 Height 的不同之处:
- Height 为只读。
- 如果要返回几行的 RowHeight 属性,可得到每一行的行高(如果所有的行等高),或得到 null(如果它们不等高)。如果要返回几行的 Height 属性,将得到所有行高的总和。
示例
示例代码复制 |
/*本示例使工作表 sheet1 上第一行的行高加倍。*/function test() { let ro= Application.Worksheets.Item("Sheet1").Rows.Item(1) ro.RowHeight =ro.RowHeight * 2 } |
Range.Rows
返回一个 Range 对象,它代表指定单元格区域中的行。Range 对象,只读。
语法
express.Rows
express 一个代表 Range 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Rows。
该属性在应用于是多个选定区域的 Range 对象时,只从该区域中第一个子区域内返回行。例如,如果 Range 对象有两个子区域:A1:B2 和 C3:D4,则 Selection.Rows.Count 返回 2 而不是 4。若要在一个可能包含多个选定区域的区域中使用此属性,请测试 Areas.Count 以确定该区域是否包含多个选择区域。如果是,请对此区域内的每个子区域进行循环,如第 3 个示例所示。
示例
示例代码复制 |
/*此示例删除 Sheet1 的第三行。*/Application.Worksheets.Item("Sheet1").Rows.Item(3).Delete() /*此示例检查第一张工作表上当前区域中的行,如果某行的第一个单元格值与前一行的第一个单元格的值相等,则删除此行。*/function test() { let rw = Application.Worksheets.Item(1).Cells.Item(1, 1).CurrentRegion.Rows for(let i = 2; i <= rw.Count; i++) { let ths= rw.Item(i).Cells.Item(1, 1).Value2 let last =rw.Item(i-1).Cells.Item(1, 1).Value2 if(ths == last) { rw.Item(i).Delete() last = ths } } } /*此示例显示 Sheet1 选定区域中的行数。如果选择了多个子区域,此示例将对每一个子区域进行循环。*/function test() { Application.Worksheets.Item("Sheet1").Activate() let areaCount = Application.Selection.Areas.Count if(areaCount <= 1) { MsgBox("The selection contains " + Selection.Rows.Count & " rows.") } else { let i = 1 let a = Application.Selection.Areas for(let b=1;b<=a.Count;b++) { MsgBox("Area " + i + " of the selection contains " + a.Item(b).Rows.Count + " rows.") i = i + 1 } } } |
Range.Text
返回或设置指定对象中的文本。String 型,只读。
语法
express.Text
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*此示例演示包含格式数字的单元格的 Text 和 Value 属性的区别。*/function test() { let c = Application.Worksheets.Item("Sheet1").Range("B14") c.Value2 = 1198.3 c.NumberFormat = "$#,##0_);($#,##0)" MsgBox(c.Value2) MsgBox(c.Text) } |
Range.Top
返回或设置一个 Variant 值,它代表行 1 上边缘到区域上边缘的距离(以磅为单位)。
语法
express.Top
express 一个代表 Range 对象的变量。
说明
如果该区域不连续,则使用第一块区域。如果该区域有若干行,则使用区域中的顶端行(行号最小的行)。
Range.Value2
返回或设置单元格值。Variant 类型,可读写。
语法
express.Value2
express 一个代表 Range 对象的变量。
说明
该属性与 Value 属性的唯一区别是:Value2 属性不使用 Currency 和 Date 数据类型。可以通过使用 Double 数据类型,以浮点数形式返回这些数据类型格式的数值。
示例
示例代码复制 |
/*本示例使用 Value2 属性对两个单元格的值进行相加。*/Application.Range("a1").Value2 = Range("b1").Value2 + Range("c1").Value2 |
Range.Width
返回一个 Variant 值,它代表区域的宽度(以单位表示)。
语法
express.Width
express 一个代表 Range 对象的变量。
Range.Worksheet
返回一个 Worksheet 对象,该对象表示包含指定区域的工作表。只读。
语法
express.Worksheet
express 一个代表 Range 对象的变量。
示例
示例代码复制 |
/*本示例显示包含活动单元格的工作表的名称。本示例必须在工作表上运行。*/MsgBox(Application.ActiveCell.Worksheet.Name) /*本示例显示包含名为“testRange”的区域的工作表名称。*/MsgBox(Application.Range("testRange").Worksheet.Name) |
方法
名称 |
说明 | |
---|---|---|
|
激活与工作簿相关的第一个窗口。 |
|
|
关闭对象。 |
|
|
新建一个窗口或者创建指定窗口的副本。 返回值类型为Window。 |
|
|
保存对指定工作簿所做的更改。 |
|
|
在另一不同文件中保存对工作簿所做的更改。 |
|
|
将指定工作簿的副本保存到文件,但不修改内存中的打开工作簿。 |
属性
名称 |
说明 | |
---|---|---|
|
返回一个对象,它代表活动工作簿中或指定的窗口或工作簿中的活动工作表(最上面的工作表)。如果没有活动的工作表,则返回 Nothing。 |
|
|
如果不使用对象识别符,则该属性返回一个 Application 对象,该对象表示 ET 应用程序。如果使用对象识别符,则该属性返回一个表示指定对象(可对一个 OLE 自动操作对象使用本属性来返回该对象的应用程序)创建者的 Application 对象。只读。 |
|
|
返回工作簿的文件格式和/或类型。XlFileFormat 类型,只读。 |
|
|
返回对象的名称(以字符串表示),包括其磁盘路径。String 型,只读。 |
|
|
如果指定工作簿有密码保护,则该属性值为 True。Boolean 类型,只读。 |
|
|
返回一个 String 值,它代表对象的名称。 |
|
|
返回一个 Names 集合,它代表指定工作簿的所有名称(包括所有指定工作表的名称)。Names 对象,只读。 |
|
|
返回一个 String 值,它代表应用程序的完整路径,不包括末尾的分隔符和应用程序名称。 |
|
|
如果对象以只读方式打开,则返回 True。Boolean 类型,只读。 |
|
|
如果指定工作簿从上次保存至今未发生过更改,则该属性值为 True。Boolean 类型,可读写。 |
|
|
返回一个 Sheets 集合,它代表指定工作簿中所有工作表。Sheets 对象,只读。 |
|
|
返回一个 Windows 集合,它代表指定工作簿中所有窗口。Windows 对象,只读。 |
|
|
返回一个 Sheets 集合,它代表指定工作簿中所有工作表。Sheets 对象,只读。 |
成员方法
Workbook.Activate
激活与工作簿相关的第一个窗口。
语法
express.Activate()
express 一个代表 Workbook 对象的变量。
说明
这样不会运行可能附加在工作簿上的 Auto_Activate 或 Auto_Deactivate 宏(使用RunAutoMacros方法可运行这些宏)。
示例
示例代码复制 |
/*本示例激活工作簿 Book4.xls。如果工作簿 Book4.xls 有若干窗口,本示例激活第一个,即 Book4.xls:1。*/Application.Workbooks.Item("BOOK4.XLS").Activate() |
Workbook.Close
关闭对象。
语法
express.Close(SaveChanges, Filename, RouteWorkbook)
express 一个代表 Workbook 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
SaveChanges |
可选 |
Variant |
如果工作簿中没有改动,则忽略此参数。如果工作簿中有改动但工作簿显示在其他打开的窗口中,则忽略此参数。如果工作簿中有改动且工作簿未显示在任何其他打开的窗口中,则由此参数指定是否应保存更改。如果设为 True,则保存对工作簿所做的更改。如果工作簿尚未命名,则使用 FileName。如果省略 Filename,则要求用户提供文件名。 |
Filename |
可选 |
Variant |
以此文件名保存所做的更改。 |
RouteWorkbook |
可选 |
Variant |
如果工作簿不需要传送给下一个收件人(没有传送名单或已经传送),则忽略此参数。否则,ET 根据此参数的值传送工作簿。如果设为 True,则将工作簿传送给下一个收件人。如果设为 False,则不发送工作簿。如果忽略,则要求用户确认是否发送工作簿。 |
示例
示例代码复制 |
/*此示例关闭 Book1.xls,并放弃所有对此工作簿的更改。*/Application.Workbooks.Item("BOOK1.XLS").Close(false) |
Workbook.NewWindow
新建一个窗口或者创建指定窗口的副本。
返回值类型为Window。
语法
express.NewWindow()
express 一个代表 Workbook 对象的变量。
示例
示例代码复制 |
/*此示例为当前活动工作簿新建一个窗口。*/Application.ActiveWorkbook.NewWindow() |
Workbook.Save
保存对指定工作簿所做的更改。
语法
express.Save()
express 一个代表 Workbook 对象的变量。
说明
要打开工作簿文件,请使用Open方法。
要将工作簿标记为已保存,但不将其写入磁盘,请将它的Saved 属性设置为 True。
首次保存工作簿时,请使用 SaveAs 方法指定文件名。
示例
示例代码复制 |
/*本示例保存活动工作簿。*/Appliction.ActiveWorkbook.Save() /*本示例保存所有打开的工作簿,然后关闭 ET。*/function test() { for (let w = 1; w <= Application.Workbooks.Count; w++) { Application.Workbooks.Item(w).Save() } Application.Quit() } |
Workbook.SaveAs
在另一不同文件中保存对工作簿所做的更改。
语法
express.SaveAs(Filename, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
express 一个代表 Workbook 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Filename |
可选 |
Variant |
一个表示要保存文件的文件名的字符串。可包含完整路径,如果不指定路径,ET 将文件保存到当前文件夹中。 |
FileFormat |
可选 |
Variant |
保存文件时使用的文件格式。要查看有效的选项列表,请参阅 XlFileFormat 枚举。对于现有文件,默认采用上一次指定的文件格式;对于新文件,默认采用当前所用 ET 版本的格式。 |
Password |
可选 |
Variant |
它是一个区分大小写的字符串(最长不超过 15 个字符),用于指定文件的保护密码。 |
WriteResPassword |
可选 |
Variant |
一个表示文件写保护密码的字符串。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读方式打开。 |
ReadOnlyRecommended |
可选 |
Variant |
如果为 True,则在打开文件时显示一条消息,提示该文件以只读方式打开。 |
CreateBackup |
可选 |
Variant |
如果为 True,则创建备份文件。 |
AccessMode |
可选 |
XlSaveAsAccessMode |
工作簿的访问模式。 |
ConflictResolution |
可选 |
XlSaveConflictResolution |
一个 XlSaveConflictResolution 值,它确定该方法在保存工作簿时如何解决冲突。如果设为 xlUserResolution,则显示冲突解决对话框。如果设为 xlLocalSessionChanges,则自动接受本地用户的更改。如果设为 xlOtherSessionChanges,则自动接受来自其他会话的更改(而不是本地用户的更改)。如果省略此参数,则显示冲突处理对话框。 |
AddToMru |
可选 |
Variant |
如果为 True,则将该工作簿添加到最近使用的文件列表中。默认值为 False。 |
TextCodepage |
可选 |
Variant |
ET中对于所有语言都忽略此参数。 注释:当 ET 将工作簿保存为某种 CSV 或文本格式(使用 FileFormat 参数指定)时, ET 使用对应于当前计算机上使用的系统区域设置语言的代码页。在“控制面板”中单击“区域和语言”,再单击“位置”选项卡,在“当前位置”下可获得此系统设置。 |
TextVisualLayout |
可选 |
Variant |
ET中对于所有语言都忽略此参数。 注释:当 ET 将工作簿保存为某种 CSV 或文本格式(使用 FileFormat 参数指定)时,它按逻辑布局保存这些格式。如果文件中左至右 (LTR) 文本嵌在右至左 (RTL) 文本中,或者相反,那么逻辑布局将把文件的内容,按照文件中所有语言的正确阅读顺序保存,而不考虑方向。当应用程序打开文件时,每串 LTR 或 RTL 字符将根据代码页中的字符值范围,按照正确的方向呈现。(除非用来打开文件的应用程序是为显示文件的确切内存布局而设计的应用程序,如调试器或编辑器)。 |
Local |
可选 |
Variant |
如果为 True,则以 ET(包括控制面板设置)的语言保存文件。如果为 False(默认值),则以 示例代码 (VBA) 的语言保存文件。VBA 通常为美国英语版本,除非从中运行 Workbooks.Open 的 VBA 项目是旧的国际化 XL5/95 VBA 项目。 |
说明
请使用同时包含大小写字母、数字和符号的强密码。弱密码不混合使用这些元素。强密码:Y6dh!et5。弱密码:House27。请使用您可以记住的强密码,这样就不必将它写下来。
示例
示例代码复制 |
/*本示例新建一个工作簿,提示用户输入文件名,然后保存该工作簿。*/function test() { let NewBook = Application.Workbooks.Add() do { fName = Application.GetSaveAsFilename() } while(fName == false) NewBook.SaveAs(fName) } |
Workbook.SaveCopyAs
将指定工作簿的副本保存到文件,但不修改内存中的打开工作簿。
语法
express.SaveCopyAs(Filename)
express 一个代表 Workbook 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Filename |
可选 |
Variant |
指定副本的文件名。 |
示例
示例代码复制 |
/*本示例保存活动工作簿的副本。*/Application.ActiveWorkbook.SaveCopyAs("C:\\TEMP\\XXXX.XLS") |
成员属性
Workbook.Activesheet
返回一个对象,它代表活动工作簿中或指定的窗口或工作簿中的活动工作表(最上面的工作表)。如果没有活动的工作表,则返回 Nothing。
语法
express.Activesheet
express 一个代表 Workbook 对象的变量。
说明
如果不指定对象识别符,则此属性返回活动工作簿中的活动工作表。
如果某个工作簿出现在若干个窗口中,那么该工作簿的 ActiveSheet 属性在不同窗口中可能不同。
示例
示例代码复制 |
/*此示例显示活动工作表的名称。*/alert("The name of the active sheet is " + Application.ActiveSheet.Name) |
Workbook.Application
如果不使用对象识别符,则该属性返回一个 Application 对象,该对象表示 ET 应用程序。如果使用对象识别符,则该属性返回一个表示指定对象(可对一个 OLE 自动操作对象使用本属性来返回该对象的应用程序)创建者的 Application 对象。只读。
语法
express.Application
express 一个代表 Workbook 对象的变量。
示例
示例代码复制 |
/*本示例显示一条有关创建 myObject 的应用程序的消息。*/function test() { if(Application.ActiveWorkbook.Application.Value == "ET") { alert("This is an ET Application object.") } else { alert("This is not an ET Application object.") } } |
Workbook.FileFormat
返回工作簿的文件格式和/或类型。XlFileFormat 类型,只读。
语法
express.FileFormat
express 一个代表 Workbook 对象的变量。
说明
这些常量中的某些可能不可用,这取决于选择或安装的语言支持(例如,美国英语)。
示例
示例代码复制 |
/*本示例检查当前工作簿文件格式是否为 Excel9795 格式,如果是,则按常规文件格式保存该工作簿。*/function test() { if(Application.ActiveWorkbook.FileFormat == xlExcel9795) { Application.ActiveWorkbook.SaveAs(null, xlExcel12) } } |
Workbook.FullName
返回对象的名称(以字符串表示),包括其磁盘路径。String 型,只读。
语法
express.FullName
express 一个代表 Workbook 对象的变量。
示例
示例代码复制 |
/*此示例显示当前工作簿的路径及文件名(假定尚未保存此工作簿)。*/alert(Application.ActiveWorkbook.FullName) |
Workbook.HasPassword
如果指定工作簿有密码保护,则该属性值为 True。Boolean 类型,只读。
语法
express.HasPassword
express 一个代表 Workbook 对象的变量。
说明
可以使用 SaveAs 方法为工作簿分配一个保护密码。
示例
示例代码复制 |
/*本示例检查活动工作簿是否有密码保护,如果有则显示一条消息。*/function test() { if(Application.ActiveWorkbook.HasPassword == true) { alert("Remember to obtain the workbook password" + "\r" + " from the Network Administrator.") } } |
Workbook.Name
返回一个 String 值,它代表对象的名称。
语法
express.Name
express 一个代表 Workbook 对象的变量。
Workbook.Names
返回一个 Names 集合,它代表指定工作簿的所有名称(包括所有指定工作表的名称)。Names 对象,只读。
语法
express.Names
express 一个代表 Workbook 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveWorkbook.Names。
示例
示例代码复制 |
/*本示例是将 Sheet1 中的 A1 单元格的名称定义为“myName”。*/Application.ActiveWorkbook.Names.Add("myName",null,null,null,null,null,null,null,null,"=Sheet1!R1C1") |
Workbook.Path
返回一个 String 值,它代表应用程序的完整路径,不包括末尾的分隔符和应用程序名称。
语法
express.Path
express 一个代表 Workbook 对象的变量。
Workbook.ReadOnly
如果对象以只读方式打开,则返回 True。Boolean 类型,只读。
语法
express.ReadOnly
express 一个代表 Workbook 对象的变量。
示例
示例代码复制 |
/*如果当前工作簿是只读的,则此示例将此工作簿另存为 Newfile.xls。*/function test() { if(Application.ActiveWorkbook.ReadOnly == true) { Application.ActiveWorkbook.SaveAs("NEWFILE.XLS") } } |
Workbook.Saved
如果指定工作簿从上次保存至今未发生过更改,则该属性值为 True。Boolean 类型,可读写。
语法
express.Saved
express 一个代表 Workbook 对象的变量。
说明
如果某个工作簿从未保存过,则其 Path属性返回一个空字符串 ("")。
如果要关闭某个已更改的工作簿,但又不想保存它或者不想出现保存提示,则可将此属性设为 True。
示例
示例代码复制 |
/*本示例检查活动工作簿是否有未保存的更改,如果有,则显示一条消息。*/function test() { if(Application.ActiveWorkbook.Saved == false) { alert("This workbook contains unsaved changes.") } } |
Workbook.Sheets
返回一个 Sheets 集合,它代表指定工作簿中所有工作表。Sheets 对象,只读。
语法
express.Sheets
express 一个代表 Workbook 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveWorkbook.Sheets。
示例
示例代码复制 |
/*此示例新建一张工作表,然后在第一列中列出活动工作簿中的工作表名称。*/function test() { let newSheet = Application.Sheets.Add(null,null,null,xlWorksheet) for(let i = 1; i <= Application.Sheets.Count; i++) { newSheet.Cells.Item(i, 1).Value2 = Application.Sheets.Item(i).Name } } |
Workbook.Windows
返回一个 Windows 集合,它代表指定工作簿中所有窗口。Windows 对象,只读。
语法
express.Windows
express 一个代表 Workbook 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 Application.Windows。
此属性返回的集合中既包括可见窗口,也包括隐藏窗口。
示例
示例代码复制 |
/*此示例将活动工作簿的窗口一命名为“Consolidated Balance Sheet”。此名称将被用作对 Windows 集合的索引。*/function test() { Application.ActiveWorkbook.Windows.Item(1).Caption = "Consolidated Balance Sheet" Application.ActiveWorkbook.Windows.Item("Consolidated Balance Sheet").ActiveSheet.Calculate() } |
Workbook.Worksheets
返回一个 Sheets 集合,它代表指定工作簿中所有工作表。Sheets 对象,只读。
语法
express.Worksheets
express 一个代表 Workbook 对象的变量。
说明
在不使用对象识别符的情况下,使用此属性将返回活动工作簿中所有的工作表。
此属性不返回宏表;使用 Excel4MacroSheets 属性或 Excel4IntlMacroSheets 属性可返回这些表。
示例
示例代码复制 |
/*此示例显示活动工作簿中 sheet1 上单元格 A1 中的值。*/alert(Application.Worksheets.Item("Sheet1").Range("A1").Value2) /*此示例显示活动工作簿中每个工作表的名称。*/function test() { for(let i = 1; i <= Application.Worksheets.Count; i++) { alert(Application.Worksheets.Item(i).Name) } } /*此示例向活动工作簿添加新工作表,并设置该工作表的名称。*/function test() { let newSheet = Application.Worksheets.Add() newSheet.Name = "current Budget" } |
- Worksheet 对象
方法
名称 |
说明 | |
---|---|---|
|
将工作表复制到工作簿的另一位置。 |
|
|
删除对象。 |
|
|
将工作表移到工作簿中的其他位置。 |
|
|
保护工作表使其不能被修改。 |
|
|
返回一个 Range 对象,它代表一个单元格或单元格区域。 |
|
|
选择对象。 |
|
|
取消工作表或工作簿的保护。如果工作表或工作簿不是受保护的,则此方法不起作用。 |
属性
名称 |
说明 | |
---|---|---|
|
如果不使用对象识别符,则该属性返回一个 Application 对象,该对象表示 ET 应用程序。如果使用对象识别符,则该属性返回一个表示指定对象(可对一个 OLE 自动操作对象使用本属性来返回该对象的应用程序)创建者的 Application 对象。只读。 |
|
|
返回一个 Range 对象,它代表工作表中的所有单元格(不仅仅是当前使用的单元格)。 |
|
|
返回一个 Range 对象,它代表活动工作表中的所有列。如果活动文档不是工作表,则 Columns 属性失效。 |
|
|
返回 Long 值,它代表对象在其同类对象所组成的集合内的索引号。 |
|
|
返回或设置一个 String 值,它代表对象的名称。 |
|
|
返回一个 Names 集合,它代表所有特定于工作表的名称(使用“WorksheetName!”前缀定义的名称)。Names 对象,只读。 |
|
|
返回代表下一个工作表的 Worksheet 对象。 |
|
|
返回代表下一个工作表的 Worksheet 对象。 |
|
|
返回一个 Protection 对象,该对象表示工作表的保护选项。 |
|
|
返回一个 Range 对象,它代表指定工作表中的所有行。Range 对象,只读。 |
|
|
返回一个 Shapes 集合,它代表工作表上的所有形状。只读。 |
|
|
返回一个代表工作表类型的 XlSheetType 值。 |
|
|
返回一个 Range 对象,该对象表示指定工作表上所使用的区域。只读。 |
|
|
返回或设置一个 XlSheetVisibility 值,它确定对象是否可见。 |
成员方法
Worksheet.Copy
将工作表复制到工作簿的另一位置。
语法
express.Copy(Before, After)
express 一个代表 Worksheet 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Before |
可选 |
Variant |
将要在其之前放置所复制工作表的工作表。如果指定了 After,则不能指定 Before。 |
After |
可选 |
Variant |
将要在其之后放置所复制工作表的工作表。如果指定了 Before,则不能指定 After。 |
说明
如果既不指定 Before 也不指定 After,则 ET 将新建一个工作簿,其中包含复制的工作表。
示例
示例代码复制 |
/*此示例复制工作表 Sheet1,并将其放置在工作表 Sheet3 之后。*/Application.Worksheets.Item("Sheet1").Copy(null,Application.Worksheets.Item("Sheet3")) |
Worksheet.Delete
删除对象。
语法
express.Delete()
express 一个代表 Worksheet 对象的变量。
说明
在删除 Worksheet 时,此方法默认情况下显示一个对话框,用于提示用户确认是否删除。
Worksheet.Move
将工作表移到工作簿中的其他位置。
语法
express.Move(Before, After)
express 一个代表 Worksheet 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Before |
可选 |
Variant |
在其之前放置移动工作表的工作表。如果指定了 After,则不能指定 Before。 |
After |
可选 |
Variant |
在其之后放置移动工作表的工作表。如果指定了 Before,则不能指定 After。 |
说明
如果既不指定 Before 也不指定 After,ET 将新建一个工作簿,其中包含所移动的工作表。
示例
示例代码复制 |
/*此示例将当前活动工作簿的 Sheet1 移到 Sheet3 之后。*/Application.Worksheets.Item("Sheet1").Move(null,Application.Worksheets.Item("Sheet3")) |
Worksheet.Protect
保护工作表使其不能被修改。
语法
express.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
express 一个代表 Worksheet 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Password |
可选 |
Variant |
一个字符串,该字符串为工作表或工作簿指定区分大小写的密码。如果省略此参数,不用密码就可以取消对工作表或工作簿的保护。否则,必须指定密码才能取消对工作表或工作簿的保护。如果忘记了密码,就无法取消对工作表或工作簿的保护。 |
DrawingObjects |
可选 |
Variant |
如果为 True,则保护形状。默认值是 True。 |
Contents |
可选 |
Variant |
如果为 True,则保护内容。对于图表,这样会保护整个图表。对于工作表,这样会保护锁定的单元格。默认值是 True。 |
Scenarios |
可选 |
Variant |
如果为 True,则保护方案。此参数仅对工作表有效。默认值是 True。 |
UserInterfaceOnly |
可选 |
Variant |
如果为 True,则保护用户界面,但不保护宏。如果省略此参数,则既保护宏也保护用户界面。 |
AllowFormattingCells |
可选 |
Variant |
如果为 True,则允许用户为受保护的工作表上的任意单元格设置格式。默认值是 False。 |
AllowFormattingColumns |
可选 |
Variant |
如果为 True,则允许用户为受保护的工作表上的任意列设置格式。默认值是 False。 |
AllowFormattingRows |
可选 |
Variant |
如果为 True,则允许用户为受保护的工作表上的任意行设置格式。默认值是 False。 |
AllowInsertingColumns |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表上插入列。默认值是 False。 |
AllowInsertingRows |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表上插入行。默认值是 False。 |
AllowInsertingHyperlinks |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表中插入超链接。默认值是 False。 |
AllowDeletingColumns |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表上删除列,要删除的列中的每个单元格都被解除锁定。默认值是 False。 |
AllowDeletingRows |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表上删除行,要删除的行中的每个单元格都被解除锁定。默认值是 False。 |
AllowSorting |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表上进行排序。排序区域中的每个单元格必须是解除锁定的或取消保护的。默认值是 False。 |
AllowFiltering |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表上设置筛选。用户可以更改筛选条件,但是不能启用或禁用自动筛选功能。用户也可以在已有的自动筛选功能上设置筛选。默认值是 False。 |
AllowUsingPivotTables |
可选 |
Variant |
如果为 True,则允许用户在受保护的工作表上使用数据透视表。默认值是 False。 |
说明
要在受保护的工作表上做更改,如果提供密码,则可在受保护的工作表上使用 Protect 方法。另一种方法是:取消工作表保护,对工作表做一些必要的更改,然后再次保护工作表。
注释:“取消保护”的意思是单元格可以被锁定(“设置单元格格式”对话框),但在“允许用户编辑区域”对话框中定义的单元格区域内,并且用户已通过密码取消了对单元格区域的保护或已通过 NT 权限的验证。
Worksheet.Range
返回一个 Range 对象,它代表一个单元格或单元格区域。
语法
express.Range(Cell1, Cell2)
express 一个代表 Worksheet 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Cell1 |
必选 |
Variant |
区域名称。必须为采用宏语言的 A1 样式引用。可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。也可包括货币符号,但它们会被忽略掉。您可以在区域中任一部分使用局部定义名称。如果使用名称,则假定该名称使用的是宏语言。 |
Cell2 |
可选 |
Variant |
区域左上角和右下角的单元格。可以是一个包含单个单元格、整列或整行的 Range 对象,或者也可以是一个用宏语言为单个单元格命名的字符串。 |
说明
如果在没有对象识别符时使用,则该属性是 ActiveSheet.Range 的快捷方式(它返回活动表的一个区域,如果活动表不是一张工作表,则该属性无效)。
当应用于 Range 对象时,该属性与 Range 对象相关。例如,如果选中单元格 C3,那么 Selection.Range("B1") 返回单元格 D3,因为它同 Selection 属性返回的 Range 对象相关。此外,代码 ActiveSheet.Range("B1") 总是返回单元格 B1。
示例
示例代码复制 |
/*此示例将 Sheet1 上 A1 单元格的值设置为 3.14159。*/Application.Worksheets.Item("Sheet1").Range("A1").Value2 = 3.14159 /*此示例在 Sheet1 的 A1 单元格中创建一个公式。*/Application.Worksheets.Item("Sheet1").Range("A1").Formula = "=10*RAND()" /*此示例在 Sheet1 上的单元格区域 A1:D10 中进行循环。如果某个单元格的值小于 0.001,则此代码将用 0(零)来取代该值。*/function test() { for(let i = 1; i <= Application.Worksheets.Item("Sheet1").Range("A1:D10").Count; i++){ if(Application.Worksheets.Item("Sheet1").Range("A1:D10").Item(i).Value2 < .001 ){ Application.Worksheets.Item("Sheet1").Range("A1:D10").Item(i).Value2 = 0 } } } /*此示例在名为“TestRange”的区域上进行循环,并显示该区域中空白单元格的个数。*/function test() { let numBlanks = 0 for(let i = 1; i <= Application.Range("TestRange").Count; i++){ if(Application.Range("TestRange").Item(i).Value2 == null){ numBlanks++ } } alert("There are " + numBlanks + " empty cells in this range") } /*此示例将 Sheet1 中单元格区域 A1:C5 上的字体样式设置为斜体。此示例使用 Range 属性的语法 2。*/Application.Worksheets.Item("Sheet1").Range(Application.Cells.Item(1, 1), Application.Cells.Item(5, 3)).Font.Italic = true |
Worksheet.Select
选择对象。
语法
express.Select(Replace)
express 一个代表 Worksheet 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Replace |
可选 |
Variant |
(仅用于工作表)。如果为 True,则用指定的对象替换当前所选内容。如果为 False,则扩展当前所选内容以包括以前选择的对象和指定的对象。 |
说明
要选择单元格或单元格区域,请使用 Select 方法。要使单个单元格成为活动单元格,请使用Activate方法。
Worksheet.Unprotect
取消工作表或工作簿的保护。如果工作表或工作簿不是受保护的,则此方法不起作用。
语法
express.Unprotect(Password)
express 一个代表 Worksheet 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Password |
可选 |
Variant |
一个字符串,指定用于解除工作表或工作簿保护的密码,此密码是区分大小写的。如果工作表或工作簿不设密码保护,则省略此参数。如果对工作表省略此参数,而该工作表又设有密码保护,ET 将提示您输入密码。如果对工作簿省略此参数,而该工作簿又设有密码保护,则该方法将失效。 |
说明
如果您忘记了密码,将不能取消工作表或工作簿的保护。建议将密码和对应文档名妥善保存。
示例
示例代码复制 |
/*此示例取消当前活动工作表的保护。*/Application.ActiveSheet.Unprotect() |
成员属性
Worksheet.Application
如果不使用对象识别符,则该属性返回一个 Application 对象,该对象表示 ET 应用程序。如果使用对象识别符,则该属性返回一个表示指定对象(可对一个 OLE 自动操作对象使用本属性来返回该对象的应用程序)创建者的 Application 对象。只读。
语法
express.Application
express 一个代表 Worksheet 对象的变量。
示例
示例代码复制 |
/*本示例显示一条有关创建 myObject 的应用程序的消息。*/function test() { let myObject = Application.ActiveWorkbook if(myObject.Application.Value == "ET") { alert("This is an ET Application object.") }else { alert("This is not an ET Application object.") } } |
Worksheet.Cells
返回一个 Range 对象,它代表工作表中的所有单元格(不仅仅是当前使用的单元格)。
语法
express.Cells
express 一个代表 Worksheet 对象的变量。
说明
因为Item属性是 Range 对象的默认属性,所以可以在 Cells 关键字后面紧接着指定行和列索引。有关详细信息,请参阅 Item 属性和本主题的示例。
在不使用对象识别符的情况下,使用此属性将返回一个 Range 对象,它代表活动工作表中所有的单元格。
示例
示例代码复制 |
/*本示例将 Sheet1 中单元格 C5 的字号设置为 14 磅。*/Application.Worksheets.Item("Sheet1").Cells.Item(5, 3).Font.Size = 14 /*本示例清除 Sheet1 上第一个单元格的公式。*/Application.Worksheets.Item("Sheet1").Cells.Item(1).ClearContents() /*本示例将 Sheet1 上所有单元格的字体设置为 8 磅“Arial”字体*/function test() { Application.Worksheets.Item("Sheet1").Cells.Font.Name = "Arial" Application.Worksheets.Item("Sheet1").Cells.Font.Size = 8 } |
Worksheet.Columns
返回一个 Range 对象,它代表活动工作表中的所有列。如果活动文档不是工作表,则 Columns 属性失效。
语法
express.Columns
express 一个代表 Worksheet 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Columns。
此属性在应用于一个是多重选定区域的 Range 对象时,会只从该区域的第一个子区域中返回列。例如,如果 Range 对象有两个子区域 A1:B2 和 C3:D4,那么,Selection.Columns.Count 的返回值是 2,而不是 4。若要对一个可能包含多重选定区域的区域使用此属性,请测试 Areas.Count 以确定此区域内是否包含多个子区域。如果包含,请对此区域内的每个子区域进行循环。
示例
示例代码复制 |
/*此示例将 Sheet1 的第一列(A 列)的字体设置为加粗。*/Application.Worksheets.Item("Sheet1").Columns.Item(1).Font.Bold = true |
Worksheet.Index
返回 Long 值,它代表对象在其同类对象所组成的集合内的索引号。
语法
express.Index
express 一个代表 Worksheet 对象的变量。
示例
Worksheet.Name
返回或设置一个 String 值,它代表对象的名称。
语法
express.Name
express 一个代表 Worksheet 对象的变量。
Worksheet.Names
返回一个 Names 集合,它代表所有特定于工作表的名称(使用“WorksheetName!”前缀定义的名称)。Names 对象,只读。
语法
express.Names
express 一个代表 Worksheet 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveWorkbook.Names。
示例
示例代码复制 |
/*本示例是将 Sheet1 中的 A1 单元格的名称定义为“myName”。*/Application.ActiveWorkbook.Names.Add("myName", null, null, null, null, null, null, null, null, "=Sheet1!R1C1") |
Worksheet.Next
返回代表下一个工作表的 Worksheet 对象。
语法
express.Next
express 一个代表 Worksheet 对象的变量。
说明
如果该对象为区域,则此属性会模拟 Tab 键,但会返回下一个单元格,而不选中它。
在处于保护状态的工作表中,此属性返回下一个未锁定单元格。在未保护的工作表中,此属性总是返回紧靠指定单元格右边的单元格。
示例
示例代码复制 |
/*此示例选定 sheet1 中下一个未锁定单元格。如果 sheet1 未保护,选定的单元格将是紧靠活动单元格右边的单元格。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.ActiveCell.Next.Select() } |
Worksheet.Previous
返回代表下一个工作表的 Worksheet 对象。
语法
express.Previous
express 一个代表 Worksheet 对象的变量。
说明
如果指定对象为区域,则此属性的作用是仿效 Shift+Tab;但此属性只是返回上一单元格,并不选定它。
在保护工作表上,该属性返回上一个未锁定的单元格。在未保护的工作表上,该属性通常返回指定单元格左侧相邻的单元格。
示例
示例代码复制 |
/*此示例选定 sheet1 中上一个未锁定单元格。如果 sheet1 未保护,选定的单元格将是紧靠活动单元格左边的单元格。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.ActiveCell.Previous.Select() } |
Worksheet.Protection
返回一个 Protection 对象,该对象表示工作表的保护选项。
语法
express.Protection
express 一个代表 Worksheet 对象的变量。
示例
示例代码复制 |
/*本示例对活动工作表进行保护,并判断是否能在受保护的工作表中插入列,然后将此状态通知用户。*/function test() { Application.ActiveSheet.Protect() // Check the ability to insert columns on a protected sheet. // Notify the user of this status. if(Application.ActiveSheet.Protection.AllowInsertingColumns == true){ alert("The insertion of columns is allowed on this protected worksheet.") } else{ alert("The insertion of columns is not allowed on this protected worksheet.") } } |
Worksheet.Rows
返回一个 Range 对象,它代表指定工作表中的所有行。Range 对象,只读。
语法
express.Rows
express 一个代表 Worksheet 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Rows。
该属性在应用于是多个选定区域的 Range 对象时,只从该区域中第一个子区域内返回行。例如,如果 Range 对象有两个子区域:A1:B2 和 C3:D4,则 Selection.Rows.Count 返回 2 而不是 4。若要在一个可能包含多个选定区域的区域中使用此属性,请测试 Areas.Count 以确定该区域是否包含多个选择区域。如果是,请对此区域内的每个子区域进行循环,如第 3 个示例所示。
示例
示例代码复制 |
/*此示例删除 Sheet1 的第三行。*/Application.Worksheets.Item("Sheet1").Rows.Item(3).Delete() /*此示例显示 Sheet1 选定区域中的行数。如果选择了多个子区域,此示例将对每一个子区域进行循环。*/function test() { Application.Worksheets.Item("Sheet1").Activate() let areaCount = Application.Selection.Areas.Count if(areaCount <= 1){ alert("The selection contains " + Application.Selection.Rows.Count + " rows.") } else{ for(let i = 1; i <= Application.Selection.Areas.Count; i++){ alert("Area " + i + " of the selection contains " + Application.Selection.Areas.Rows.Count + " rows.") } } } |
Worksheet.Shapes
返回一个 Shapes 集合,它代表工作表上的所有形状。只读。
语法
express.Shapes
express 一个代表 Worksheet 对象的变量。
示例
示例代码复制 |
/*此示例向第一张工作表中添加兰色的虚线。*/function test() { let Wshapes = Application.Worksheets.Item(1).Shapes.AddLine(10, 10, 250, 250).Line Wshapes.DashStyle = Application.Enum.msoLineDashDotDot Wshapes.ForeColor.RGB = (50, 0, 128) } |
Worksheet.Type
返回一个代表工作表类型的 XlSheetType 值。
语法
express.Type
express 一个代表 Worksheet 对象的变量。
Worksheet.UsedRange
返回一个 Range 对象,该对象表示指定工作表上所使用的区域。只读。
语法
express.UsedRange
express 一个代表 Worksheet 对象的变量。
示例
示例代码复制 |
/*本示例选定 Sheet1 中的已用区域。*/function test() { Application.Worksheets.Item("Sheet1").Activate() Application.ActiveSheet.UsedRange.Select() } |
Worksheet.Visible
返回或设置一个 XlSheetVisibility 值,它确定对象是否可见。
语法
express.Visible
express 一个代表 Worksheet 对象的变量。
示例
示例代码复制 |
/*本示例隐藏 Sheet1。*/Application.Worksheets.Item("Sheet1").Visible = false /*本示例将 Sheet1 设置为可见。*/Application.Worksheets.Item("Sheet1").Visible = true /*本示例使活动工作簿中的每一张工作表可见。*/for(let i = 1; i <= Sheets.Count; i++){ Application.Sheets.Visible = true } /*本示例新建一张工作表,然后将其 Visible 属性设为 xlVeryHidden。要引用该工作表,可使用其对象变量 newSheet,如本示例最后一行所示。若要在另一过程中使用 newSheet 对象变量,必须在模块的第一行中将其声明为公用变量 (Public newSheet As Object),然后才能执行 Sub 或 Function 过程。*/function test() { let newSheet = Application.Worksheets.Add() newSheet.Visible = Application.Enum.xlVeryHidden newSheet.Range("A1:D4").Formula = "=RAND()" } |
4、Application 对象
方法
名称 |
说明 | |
---|---|---|
|
将一个 ET 名称转换为一个对象或者一个值。 |
|
|
选定任意工作簿中的任意区域,并且如果该工作簿未处于活动状态,就激活该工作簿。 |
|
|
显示一个接收用户输入的对话框。返回此对话框中输入的信息。 |
|
|
退出ET |
|
|
运行一个宏或者调用一个函数。该方法可用于运行宏编辑器编写的宏,或者运行 DLL 或 XLL 中的函数。 |
属性
名称 |
说明 | |
---|---|---|
|
返回一个 Range 对象,该对象代表活动窗口(顶部窗口)或指定窗口中的活动单元格。如果窗口中没有显示工作表,此属性无效。只读。 |
|
|
返回一个对象,它代表活动工作簿中或指定的窗口或工作簿中的活动工作表(最上面的工作表)。如果没有活动的工作表,则返回 null。 |
|
|
返回一个 Window 对象,该对象代表活动窗口(顶部窗口)。只读。如果没有打开的窗口,则返回 null。 |
|
|
返回一个 Workbook 对象,该对象代表活动窗口(顶部窗口)中的工作簿。只读。如果没有打开的窗口,或者“信息”窗口或“剪贴板”窗口为活动窗口,则返回 null。 |
|
|
该属性返回一个代表 ET 应用程序的 Application 对象。只读。 |
|
|
返回 ET 内部版本号。Number 类型,只读。 |
|
|
返回或设置一个 String 值,它代表出现在 ET 主窗口标题栏中显示的名称。 |
|
|
返回一个 Range 对象,该对象代表活动工作表中的所有单元格。如果活动文档不是工作表,则此属性无效。 |
|
|
返回一个 Range 对象,它代表活动工作表中的所有列。如果活动文档不是工作表,则 Columns 属性无效。 |
|
|
返回一个 Dialogs 集合,该集合代表所有内置对话框。只读。 |
|
|
返回一个 Double 值,它代表主应用程序窗口的高度(以磅为单位)。 |
|
|
返回一个 Number 类型的值,该值表示 ET 窗口的最高级别的窗口句柄。只读。 |
|
|
返回或设置一个 Double 值,它代表从屏幕左边缘到 ET 主窗口左边缘的距离(以磅为单位)。 |
|
|
返回一个代表对象名称的 String 值。 |
|
|
||
|
返回一个 NewFile 对象。 |
|
|
返回一个 String 值,它代表应用程序的完整路径,不包括末尾的分隔符和应用程序名称。 |
|
|
返回一个 Range 对象,它代表活动工作表中的所有行。如果活动文档不是工作表,则 Rows 属性失效。Range 对象,只读。 |
|
|
为 Application 对象返回在活动窗口中选定的对象。 |
|
|
返回或设置一个 Double 值,它代表从屏幕上边缘到 ET 主窗口上边缘的距离(以磅为单位)。 |
|
|
返回一个代表应用程序名称的 String 值。 |
|
|
返回一个 String 值,它代表 ET 版本号。 |
|
|
返回或设置一 个 Double 值,它代表应用程序窗口的宽度(以磅为单位)。 |
|
|
返回或设置窗口的状态。XlWindowState 类型,可读写。 |
|
|
返回一个 Windows 集合,它代表所有工作簿中的所有窗口。Windows 对象,只读。 |
|
|
返回一个 Workbooks 集合,该集合表示所有打开的工作簿。只读。 |
|
|
返回WorksheetFunction对象。只读。 |
|
|
对于 Application 对象,返回一个 Sheets 集合,它代表活动工作簿中的所有工作表。对于 Workbook 对象,返回一个 Sheets 集合,它代表指定工作簿中的所有工作表。Sheets 对象,只读。 |
成员方法
Application.Evaluate
将一个 ET 名称转换为一个对象或者一个值。
语法
express.Evaluate(Name)
express 一个代表 Application 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Name |
必选 |
Variant |
公式或使用 ET 命名约定的对象名称。 |
说明
该方法可使用下列 ET 名称类型:
- A1 格式引用。可以通过 A1 格式表示法引用单个单元格。所有引用均视为绝对引用。
- 区域。在引用中可以使用区域、交集和联合运算符(分别为冒号、空格和逗号)。
- 定义的名称。可用宏语言指定任何名称。
- 外部引用。可以使用 ! 运算符引用另一工作簿中的单元格或已定义的名称,例如,Evaluate("[BOOK1.XLS]Sheet1!A1")。
- 图表对象。可以指定任何图表对象名称(如“Legend”、“Plot Area”或“Series 1”),以访问该对象的属性和方法。例如,Charts("Chart1").Evaluate("Legend").Font.Name 返回图例中所用字体的名称。
示例
示例代码复制 |
/* 用字符串参数调用 Evaluate 方法 */function test() { Application.Evaluate("A1").Value2 = 25 let trigVariable = Application.Evaluate("SIN(45)") let firstCellInSheet = Application.Workbooks.Item("工作簿1.xlsx").Sheets.Item(1).Evaluate("A1") alert(trigVariable) alert(firstCellInSheet) } /* 此示例将工作表 Sheet1 上 A1 单元格的字体设置为加粗。 */function test() { Application.Worksheets.Item("Sheet1").Activate() let boldCell = "A1" Application.Evaluate(boldCell).Font.Bold = true } |
Application.Goto
选定任意工作簿中的任意区域,并且如果该工作簿未处于活动状态,就激活该工作簿。
语法
express.Goto(Reference, Scroll)
express 一个代表 Application 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Reference |
可选 |
Variant |
目标。可以是 Range 对象、包含 R1C1-样式批注的单元格引用的字符串。如果省略该参数,目标将为最近一次用 Goto 方法选定的区域。 |
Scroll |
可选 |
Boolean |
如果为 True,则滚动窗口直至区域的左上角出现在窗口的左上角中。如果为 False,则不滚动窗口。默认值为 False。 |
说明
该方法与 Select 方法的区别:
- 如果指定的区域不在位于最前面屏幕的工作表中,ET 将在选定该区域之前切换至该工作表。(如果对不在屏幕的最前面的工作表中的区域使用 Select 方法,则选定该区域时并不激活该工作表)
- 该方法具有让用户滚动目标窗口的 Scroll 参数
- 当使用 Goto 方法时,前一次选定区域(Goto 方法运行前)被增加到以前选定区域的数组中(有关详细信息,请参阅 PreviousSelections 属性)。可以使用该功能快速跳过选定区域,选定区域最多为四个
- Select 方法具有 Replace 参数,而 Goto 方法没有该参数
示例
示例代码复制 |
/* 本示例选定工作表 Sheet1 中的单元格 A154,并滚动工作表以显示该区域。 */function test() { let rg = Application.ActiveWorkbook.Worksheets.Item("Sheet1").Range("A154"); Application.Goto(rg, true) } |
Application.InputBox
显示一个接收用户输入的对话框。返回此对话框中输入的信息。
语法
express.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)
express 一个代表 Application 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Prompt |
必选 |
String |
要在对话框中显示的消息。可为字符串、数字、日期、或布尔值(在显示之前,ET 自动将其值强制转换为 String)。 |
Title |
可选 |
Variant |
输入框的标题。如果省略该参数,默认标题将为“Input”。 |
Default |
可选 |
Variant |
指定一个初始值,该值在对话框最初显示时出现在文本框中。如果省略该参数,文本框将为空。该值可以是 Range 对象。 |
Left |
可选 |
Variant |
指定对话框相对于屏幕左上角的 X 坐标(以磅为单位)。 |
Top |
可选 |
Variant |
指定对话框相对于屏幕左上角的 Y 坐标(以磅为单位)。 |
HelpFile |
可选 |
Variant |
此输入框使用的帮助文件名。如果存在 HelpFile 和 HelpContextID 参数,对话框中将出现一个帮助按钮。 |
HelpContextID |
可选 |
Variant |
HelpFile 中帮助主题的上下文 ID 号。 |
Type |
可选 |
Variant |
指定返回的数据类型。如果省略该参数,对话框将返回文本。 |
说明
下表列出了可以在 Type 参数中传递的值。可以为下列值之一或其中几个值的和。例如,对于一个可接受文本和数字的输入框,将 Type 设置为 1 + 2。
值 |
含义 |
0 |
公式 |
1 |
数字 |
2 |
文本(字符串) |
4 |
逻辑值(True 或 False) |
8 |
单元格引用,作为一个 Range 对象 |
16 |
错误值,如 #N/A |
64 |
数值数组 |
使用 InputBox 可以显示一个简单的对话框,以便可以输入要在宏中使用的信息。此对话框有一个“确定”按钮和一个“取消”按钮。如果选择了“确定”按钮,则 InputBox 将返回对话框中输入的值。如果单击“取消”按钮,则 InputBox 返回 False。
如果 Type 为 0,InputBox 将以文本格式返回公式。例如,“=2*PI()/360”。如果公式中有引用,将以 A1-样式引用返回(使用 ConvertFormula转换引用样式)。
如果 Type 为 8,InputBox 将返回一个 Range 对象。您必须用 Set 语句将结果指定给一个 Range 对象,如下例所示。
示例代码复制 |
function test() { let myRange = Application.InputBox("Sample", undefined, undefined, undefined, undefined, undefined, undefined,8) } |
如果不使用 Set 语句,此变量将被设置为这个区域的值,而不是 Range 这个对象本身。
如果使用 InputBox 方法要求用户输入公式,则必须使用FormulaLocal属性来将此公式指定给一个 Range 对象。输入的公式使用用户语言。
InputBox 方法与 InputBox 函数的区别在于:它可以对用户的输入进行选择性验证,也可用于 ET 对象、误差值、和公式的输入。注意,Application.InputBox 调用的是 InputBox 方法,不带对象识别符的 InputBox 调用的是 InputBox 函数。
示例
示例代码复制 |
/* 本示例提示用户输入数字。 */function test() { let myNum = Application.InputBox("Enter a number") } /* 本示例提示用户在 Sheet1 中选取一个单元格。示例使用 Type 参数证实返回值是有效的单元格引用 (一个 Range 对象)。 */function test() { Application.Worksheets.Item("Sheet1").Activate() let myCell = Application.InputBox("Select a cell", undefined, undefined, undefined, undefined, undefined, undefined, 8) } |
Application.Quit
退出ET
语法
express.Quit()
express 一个代表 Application 对象的变量。
说明
使用此方法时,如果未保存的工作簿处于打开状态,则 ET 将显示一个对话框,询问是否要保存所作更改。要防止发生这种情况,请在使用 Quit 方法前保存所有工作簿或将DisplayAlerts属性设置为 False。如果该属性为 False,则在 ET 退出时,即使有未保存的工作簿,也不会显示对话框,而且不保存就退出。
如果将工作簿的Saved属性设置为 True,而没有将工作簿保存到磁盘上,则 ET 在退出时不会提示保存该工作簿。
示例
示例代码复制 |
/* 本示例保存所有打开的工作簿,然后退出 ET。 */function test() { let w = Application.Workbooks for (let i = 1; i <= w.Count; i++) { w.Item(i).Save() } Application.Quit() } |
Application.Run
运行一个宏或者调用一个函数。该方法可用于运行宏编辑器编写的宏,或者运行 DLL 或 XLL 中的函数。
语法
express.Run(Macro, Arg1-Arg30)
express 一个代表 Application 对象的变量。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Macro |
可选 |
Variant |
要运行的宏。它可以是具有宏名称的字符串、表示函数所在位置的 Range 对象,或者是一个已注册的 DLL (XLL) 函数的注册号。如果使用字符串,将在当前工作表的上下文中对该字符串求值。 |
Arg1-Arg30 |
可选 |
Variant |
应传递给函数的参数。 |
说明
此方法不可使用命名参数,参数必须通过位置进行传递。
Run 方法返回被调用的宏返回的任何值。如果将对象作为参数传递给宏,该对象将转换为相应的值(通过对该对象应用 Value 属性)。这意味着不能用 Run 方法将对象传递给宏。
成员属性
Application.ActiveCell
返回一个 Range 对象,该对象代表活动窗口(顶部窗口)或指定窗口中的活动单元格。如果窗口中没有显示工作表,此属性无效。只读。
语法
express.ActiveCell
express 一个代表 Application 对象的变量。
说明
如果不指定对象识别符,此属性返回活动窗口中的活动单元格。
请仔细区分活动单元格和选定区域。活动单元格为选定区域内部的一个单元格。而选定区域可以包含多个单元格,但只有一个单元格为活动单元格。
下列表达式都是返回活动单元格,并且都是等效的。
示例代码复制 |
Application.ActiveCellApplication.ActiveWindow.ActiveCell |
示例
示例代码复制 |
/* 此示例在消息框中显示活动单元格的值。由于如果活动表不是工作表则 ActiveCell 属性无效,所以此示例使用 ActiveCell 属性之前先激活 Sheet1。 */function test() { Application.Worksheets.Item("Sheet1").Activate() alert(Application.ActiveCell.Value2) } /* 此示例更改活动单元格的字体格式设置。 */function test() { Application.Worksheets.Item("Sheet1").Activate() let font = Application.ActiveCell.Font font.Bold = true font.Italic = true } |
Application.ActiveSheet
返回一个对象,它代表活动工作簿中或指定的窗口或工作簿中的活动工作表(最上面的工作表)。如果没有活动的工作表,则返回 null。
语法
express.ActiveSheet
express 一个代表 Application 对象的变量。
说明
如果不指定对象识别符,则此属性返回活动工作簿中的活动工作表。
如果某个工作簿出现在若干个窗口中,那么该工作簿的 ActiveSheet 属性在不同窗口中可能不同。
示例
示例代码复制 |
/* 此示例显示活动工作表的名称。 */function test() { alert("The name of the active sheet is " + Application.ActiveSheet.Name) } |
Application.ActiveWindow
返回一个 Window 对象,该对象代表活动窗口(顶部窗口)。只读。如果没有打开的窗口,则返回 null。
语法
express.ActiveWindow
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 本示例显示活动窗口的名称(Caption 属性)。 */function test() { alert("The name of the active window is " + Application.ActiveWindow.Caption) } |
Application.ActiveWorkbook
返回一个 Workbook 对象,该对象代表活动窗口(顶部窗口)中的工作簿。只读。如果没有打开的窗口,或者“信息”窗口或“剪贴板”窗口为活动窗口,则返回 null。
语法
express.ActiveWorkbook
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 本示例显示活动工作簿的名称。 */function test() { alert("The name of the active workbook is " + Application.ActiveWorkbook.Name) } |
Application.Application
该属性返回一个代表 ET 应用程序的 Application 对象。只读。
语法
express.Application
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 本示例显示一条有关创建 myObject 的应用程序的消息。 */ function test() { let myObject = Application alert(myObject.Application.Value) } |
Application.Build
返回 ET 内部版本号。Number 类型,只读。
语法
express.Build
express 一个代表 Application 对象的变量。
说明
通常检测 Version 属性较为安全,除非必须要获知内部版本号。
示例
示例代码复制 |
/* 本示例检测 Build 属性。 */function test() { if(Application.Build > 2500) { alert("build-dependent code here") } } |
Application.Caption
返回或设置一个 String 值,它代表出现在 ET 主窗口标题栏中显示的名称。
语法
express.Caption
express 一个代表 Application 对象的变量。
说明
如果未设置该名称,或将其设置为 Empty, 则此属性返回“ET”。
示例
示例代码复制 |
/* 此示例将出现在 ET 主窗口标题栏中的名称设置为自定义的名称。 */function test() { Application.Caption = "KingSoft" } |
Application.Cells
返回一个 Range 对象,该对象代表活动工作表中的所有单元格。如果活动文档不是工作表,则此属性无效。
语法
express.Cells
express 一个代表 Application 对象的变量。
说明
因为 Item 属性是 Range 对象的默认属性,所以可以在 Cells 关键字后面紧接着指定行和列索引。有关详细信息,请参阅 Item 属性和本主题的示例。
在不使用对象识别符的情况下,使用此属性将返回一个 Range 对象,它代表活动工作表中所有的单元格。
Application.Columns
返回一个 Range 对象,它代表活动工作表中的所有列。如果活动文档不是工作表,则 Columns 属性无效。
语法
express.Columns
express 一个代表 Application 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Columns。
此属性在应用于一个是多重选定区域的 Range 对象时,会只从该区域的第一个子区域中返回列。例如,如果 Range 对象有两个子区域 A1:B2 和 C3:D4,那么,Selection.Columns.Count 的返回值是 2,而不是 4。若要对一个可能包含多重选定区域的区域使用此属性,请测试 Areas.Count 以确定此区域内是否包含多个子区域。如果包含,请对此区域内的每个子区域进行循环。
Application.Dialogs
返回一个 Dialogs 集合,该集合代表所有内置对话框。只读。
语法
express.Dialogs
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 本示例显示“文件”菜单的“打开”对话框。 */function test() { Application.Dialogs.Item(xlDialogOpen).Show() } |
Application.Height
返回一个 Double 值,它代表主应用程序窗口的高度(以磅为单位)。
语法
express.Height
express 一个代表 Application 对象的变量。
说明
如果窗口处于最小化,则此属性为只读,并引用图标的高度。如果窗口处于最大化,则无法设置此属性。使用 WindowState 属性可确定窗口的状态。
Application.Hwnd
返回一个 Number 类型的值,该值表示 ET 窗口的最高级别的窗口句柄。只读。
语法
express.Hwnd
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 在本示例中,ET 向用户通知 ET 窗口的最高级别的窗口句柄。 */function test() { MsgBox("The top-level window handle is: " + Application.Hwnd) } |
Application.Left
返回或设置一个 Double 值,它代表从屏幕左边缘到 ET 主窗口左边缘的距离(以磅为单位)。
语法
express.Left
express 一个代表 Application 对象的变量。
Application.Name
返回一个代表对象名称的 String 值。
语法
express.Name
express 一个代表 Application 对象的变量。
Application.Names
返回一个 Names 集合,该集合代表活动工作簿中的所有名称。只读 Names 对象。
语法
express.Names
express 一个代表 Application 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveWorkbook.Names。
Application.NewWorkbook
返回一个 NewFile 对象。
语法
express.NewWorkbook
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 在本示例中,ET 将 wkbOne 变量设置为 NewFile 对象。 */function test() { // Create a reference to an instance of the NewFile object. let wkbOne = Application.NewWorkbook } |
Application.Path
返回一个 String 值,它代表应用程序的完整路径,不包括末尾的分隔符和应用程序名称。
语法
express.Path
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 此示例显示 ET 的完整路径。 */function test() { alert("The path is " + Application.Path) } |
Application.Rows
返回一个 Range 对象,它代表活动工作表中的所有行。如果活动文档不是工作表,则 Rows 属性失效。Range 对象,只读。
语法
express.Rows
express 一个代表 Application 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Rows。
该属性在应用于是多个选定区域的 Range 对象时,只从该区域中第一个子区域内返回行。例如,如果 Range 对象有两个子区域:A1:B2 和 C3:D4,则 Selection.Rows.Count 返回 2 而不是 4。若要在一个可能包含多个选定区域的区域中使用此属性,请测试 Areas.Count 以确定该区域是否包含多个选择区域。如果是,请对此区域内的每个子区域进行循环,如第 3 个示例所示。
示例
示例代码复制 |
/* 此示例删除 Sheet1 的第三行。 */function test() { Application.Worksheets.Item("Sheet1").Rows.Item(3).Delete() } /* 此示例检查第一张工作表上当前区域中的行,如果某行的第一个单元格值与前一行的第一个单元格的值相等,则删除此行。 */function test() { let last; let cnt = Application.Selection.Rows.Count; let delCnt = 0; for (i = 1; i <= cnt - delCnt; i++) { let rw = Application.Selection.Rows.Item(i); cur = rw.Cells.Item(1, 1).Value(); if (cur === last) { rw.Delete(); i--; delCnt ++; } last = cur; } } /* 此示例显示 Sheet1 选定区域中的行数。如果选择了多个子区域,此示例将对每一个子区域进行循环。 */function test() { Application.Worksheets.Item("Sheet1").Activate() let areaCount = Application.Selection.Areas.Count if (areaCount <= 1) { alert(`The selection contains${Application.Selection.Rows.Count}rows.`) } else { let i = 1 for (item in Application.Selection.Areas) { alert(`Area${i}of the selection contains${item.Rows.Count}rows.`) i += 1 } } } |
Application.Selection
为 Application 对象返回在活动窗口中选定的对象。
语法
express.Selection
express 一个代表 Application 对象的变量。
说明
返回的对象类型取决于当前所选内容(例如,如果选择了单元格,此属性将返回 Range 对象)。如果未选择任何内容,Selection 属性将返回 Nothing。
在不使用对象识别符的情况下,使用此属性等效于使用 Application.Selection。
示例
示例代码复制 |
/* 本示例清空 Sheet1 的选定对象(假定选定对象为单元格区域)。 */function test() { Application.Worksheets.Item("Sheet1").Activate() Application.Selection.Clear() } /* 本示例显示选定对象的 wpsjs 加载项 对象类型。 */function test() { Application.Worksheets.Item("Sheet1").Activate() alert("The selection object type is " + typeof(Application.Selection)) } |
Application.Top
返回或设置一个 Double 值,它代表从屏幕上边缘到 ET 主窗口上边缘的距离(以磅为单位)。
语法
express.Top
express 一个代表 Application 对象的变量。
说明
如果应用程序窗口已最小化,则此属性将控制窗口图标的位置(在屏幕的任何位置)。
Application.Value
返回一个代表应用程序名称的 String 值。
语法
express.Value
express 一个代表 Application 对象的变量。
说明
此属性始终返回 "Microsoft Excel"。
Application.Version
返回一个 String 值,它代表 ET 版本号。
语法
express.Version
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 此示例显示包含 ET 版本号和操作系统名称的消息框。 */function test() { alert(`Welcome to ET version ${Application.Version} running on ${Application.OperatingSystem}!`) } |
Application.Width
返回或设置一 个 Double 值,它代表应用程序窗口的宽度(以磅为单位)。
语法
express.Width
express 一个代表 Application 对象的变量。
说明
如果窗口处于最小化状态,则 Width 为只读,并返回窗口图标的宽度。
示例
示例代码复制 |
/* 此示例将活动窗口的尺寸扩大为可用的最大尺寸(假定该窗口尚未最大化)。 */function test() { let window = Application.ActiveWindow window.WindowState = Application.Enum.xlNarrow window.Top = 1 window.Left = 1 window.Height = Application.UsableHeight window.Width = Application.UsableWidth } |
Application.WindowState
返回或设置窗口的状态。XlWindowState 类型,可读写。
语法
express.WindowState
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 本示例将 ET 应用程序窗口最大化。 */function test() { Application.WindowState = Application.Enum.xlMaximized } /* 此示例将活动窗口的尺寸扩大为可用的最大尺寸(假定该窗口尚未最大化)。 */function test() { let window = Application.ActiveWindow window.WindowState = Application.Enum.xlNarrow window.Top = 1 window.Left = 1 window.Height = Application.UsableHeight window.Width = Application.UsableWidth } |
Application.Windows
返回一个 Windows 集合,它代表所有工作簿中的所有窗口。Windows 对象,只读。
语法
express.Windows
express 一个代表 Application 对象的变量。
说明
在不使用对象识别符的情况下使用此属性等效于使用 Application.Windows。
此属性返回的集合中既包括可见窗口,也包括隐藏窗口。
示例
示例代码复制 |
/* 此示例关闭 ET 中第一个打开或隐藏的窗口。 */function test() { Application.Windows.Item(1).Close() } /* 此示例将活动工作簿的窗口一命名为“Consolidated Balance Sheet”。此名称将被用作对 Windows 集合的索引。 */function test() { Application.ActiveWorkbook.Windows.Item(1).Caption = "Consolidated Balance Sheet" Application.ActiveWorkbook.Windows.Item("Consolidated Balance Sheet").ActiveSheet.Calculate() } |
Application.Workbooks
返回一个 Workbooks 集合,该集合表示所有打开的工作簿。只读。
语法
express.Workbooks
express 一个代表 Application 对象的变量。
说明
在不使用对象识别符的情况下,使用该属性相当于使用。
示例代码复制 |
Application.Workbooks |
由 Workbooks 属性返回的集合并不包含打开的加载宏(一种特殊的隐藏工作簿)。但如果知道文件名,则可返回单个打开的加载宏。例如,
示例代码复制 |
Application.Workbooks.Item("Oscar.xla") |
将把名为“Oscar.xla”的打开的加载宏作为 Workbook 对象返回。
示例
示例代码复制 |
/* 本示例激活 Book1.xls 工作簿。 */function test() { Application.Workbooks.Item("Book1").Activate() } /* 本示例打开 Large.xlsx 工作簿。 */function test() { Application.Workbooks.Open("C:/Users/wps/Desktop/large.xlsx") } /* 本示例关闭除正在运行本示例的工作簿以外的所有其他工作簿,并保存其更改。 */function test() { const Count = Application.Workbooks.Count for(let i = 1; i <= Count; i++){ if(Application.Workbooks.Item(i).Name != Application.ThisWorkbook.Name){ Application.Workbooks.Item(i).Close(true) } } } |
Application.WorksheetFunction
返回WorksheetFunction对象。只读。
语法
express.WorksheetFunction
express 一个代表 Application 对象的变量。
示例
示例代码复制 |
/* 本示例对单元格区域 A1:A10 应用 Min 工作表函数,并显示结果。 */function test() { let myRange = Application.Worksheets.Item("Sheet1").Range("A1:C10") let answer = Application.WorksheetFunction.Min(myRange) alert(answer) } |
Application.Worksheets
对于 Application 对象,返回一个 Sheets 集合,它代表活动工作簿中的所有工作表。对于 Workbook 对象,返回一个 Sheets 集合,它代表指定工作簿中的所有工作表。Sheets 对象,只读。
语法
express.Worksheets
express 一个代表 Application 对象的变量。
说明
在不使用对象识别符的情况下,使用此属性将返回活动工作簿中所有的工作表。
此属性不返回宏表;使用 Excel4MacroSheets 属性或 Excel4IntlMacroSheets 属性可返回这些表。
示例
示例代码复制 |
/* 此示例显示活动工作簿中 sheet1 上单元格 A1 中的值。。 */function test() { alert(Application.Worksheets.Item("Sheet1").Range('A1').Value2) } /* 此示例显示活动工作簿中每个工作表的名称。 */function test() { for (let i = 1; i <= Application.Worksheets.Count; i++) { alert(Application.Worksheets.Item(i).Name) } } /* 此示例向活动工作簿添加新工作表,并设置该工作表的名称。 */function test() { let newSheet = Application.Worksheets.Add() newSheet.Name = "current Budget" } |
5、Application 事件
事件列表
名称 |
触发时机 |
NewWorkbook |
当新建工作簿时触发此事件。 |
SheetActivate |
当激活任一工作表时触发此事件。 |
SheetBeforeDelete |
当删除任一工作表之前触发 此事件。 |
SheetBeforeDoubleClick |
当双击任一工作表之前触发此事件。 |
SheetBeforeRightClick |
当右击任一工作表之前触发此事件 。 |
SheetCalculate |
在任一工作表进行计算时触发此事件。 |
SheetChange |
当用户或外部链接更改了任一工作表中的单元格时触发此事件。 |
SheetDeactivate |
当任一工作表被切换到非激活状态时 触发此事件。 |
SheetFollowHyperlink |
单击任一工作表的超链接时触 发此事件。 |
SheetSelectionChange |
任一工作表上的选定区域发生更改时,将触发此事件。 |
WindowActivate |
任一工作簿窗口被激活时,将触发此事件。 |
WindowDeactivate |
任一工作簿窗口被切换到非激活状态时 触发此事件。 |
WindowResize |
任一工作簿窗口调整大小时将触发此事件。 |
WorkbookActivate |
任一工作簿被激活时,将触发此事件。 |
WorkbookAfterSave |
任一工作簿被保存之后触发此事件。 |
WorkbookBeforeClose |
任一打开的工作簿关闭之前触发此事件。 |
WorkbookBeforePrint |
在打印任一打开的工作簿之前触发此事件。 |
WorkbookBeforeSave |
任一工作簿被保存之前触发 此事件。 |
WorkbookDeactivate |
任一工 作簿被切换到非激活状态时触发此事件。 |
WorkbookNewSheet |
在任一打开的工作簿中创建新工作表时触发此事件。 |
WorkbookOpen |
当打开一个工作簿时触发此事件。 |
NewWorkbook
当新建一个工作簿时触发此事件。
语法
function Application_NewWorkbook(Wb)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
新建的工作簿对象 |
示例
当新建一个工作簿时,弹消息框提醒用户新建了工作簿。
示例代码复制 |
function Application_NewWorkbook(Wb){ MsgBox("您新建了工作簿:"+Wb.Name) } |
SheetActivate
当激活任一工作表时触发此事件。
语法
function Application_SheetActivate (Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
激活的工作表对象。 |
示例
当新建一个工作簿时,弹消息框提醒用户激活了工作表。
示例代码复制 |
function Application_SheetActivate(Sh){ MsgBox("您激活了工作表:"+Sh.Name) } |
SheetBeforeDelete
当删除任一工作表之前 触发此事件。
语法
function Application_SheetBeforeDelete (Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
即将删除的工作表对象。 |
示例
当删除任一工作表之前,弹消息框提醒用户。
示例代码复制 |
function Application_SheetBeforeDelete(Sh){ MsgBox("您即将删除工作表:"+Sh.Name) } |
SheetBeforeDoubleClick
双击任一工作表之前触发此事件。
语法
function Application_SheetBeforeDoubleClick(Sh, Target, Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
双击的工作表对象。 |
Target |
必选 |
Range对象 |
双击区域所在的单元格对象。 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次双击。 |
示例
双击任一工作表之前,如果双击操作在A1单元格上,则不响应双击操作(默认是进入编辑),否则则继续响应。
示例代码复制 |
function Application_SheetBeforeDoubleClick(Sh, rg, cancel){ if (Target.Address() == "$A$1") Cancel.Value = true; } |
SheetBeforeRightClick
右击任一工作表之前触发此事件。
语法
function Application_SheetBeforeRightClick(Sh, Target, Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
右击的工作表对象。 |
Target |
必选 |
Range对象 |
右击区域所在的单元格对象。 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次右击。 |
示例
右击任一工作表之前,如果右击操作在A1单元格上,则不响应右击操作(默认是弹出右键菜单),否则则继续右击。
示例代码复制 |
function Application_SheetBeforeRightClick(Sh, rg, cancel){ if (Target.Address() == "$A$1") Cancel.Value = true; } |
SheetCalculate
任一工作表进行计算时触发此事件。
语法
function Application_SheetCalculate(Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
计算的工作表对象。 |
示例
当工作表进行计算时,弹消息框提醒用户。
示例代码复制 |
function Application_SheetCalculate(Sh){ MsgBox("工作表正在计算:"+Sh.Name) } |
SheetChange
当用户或外部链接更改了任一工作表中的单元格时触发此事件。
语法
function Application_SheetChange(Sh, Target)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
修改的工作表对象。 |
Target |
必选 |
Range对象 |
修改的单元格Range对象 |
示例
工作表中的单元格被修改时,弹消息框提醒用户。
示例代码复制 |
function Application_SheetChange(Sh, rg){ MsgBox("工作表:" + Sh.Name + "。区域:"+Target.Address() + "。发生了修改") } |
SheetDeactivate
当任一工作表被切换到非激活状态时触发此事件。
语法
function Application_SheetDeactivate(Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
被切换到非激活状态的工作表对象。 |
示例
任一工作表被切换到非激活状态时,弹消息框提醒用户。
示例代码复制 |
function Application_SheetDeactivate(Sh){ MsgBox("被切换到非激活的工作表:"+Sh.Name) } |
SheetFollowHyperlink
单击任一工作表的超链接时触发此事件。
语法
function Application_SheetFollowHyperlink(Sh, Target)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
超链接所在的工作表对象。 |
Target |
必选 |
Hyperlink对象 |
Hyperlink对象,代表超链接的目标。 |
示例
单击任一工作表的超链接时,弹消息框提醒用户。
示例代码复制 |
function Application_SheetFollowHyperlink(Sh, Target){ MsgBox("你点击了工作表\"" + Sh.Name + "\"上的超链接:"+Target.Address) } |
SheetSelectionChange
该工作簿任一工作表上的选定区域发生更改时,将触发此事件。
语法
function Application_SheetSelectionChange(Sh, Target)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
选区改变的工作表对象。 |
Target |
必选 |
Range |
新选定的区域。 |
示例
当工作表上的选定区域发生更改时,弹消息框提醒用户。
示例代码复制 |
function Application_SheetSelectionChange(Sh, Target){ MsgBox("工作表\"" + Sh.Name + "\"选中的区域是:"+Target.Address() + "。") } |
WindowActivate
任一工作簿窗口被激活时,将触发此事件。
语法
function Application_WindowActivate (Wb, Wn)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
激活工作簿对象。 |
Wn |
必选 |
Window |
激活窗口对象。 |
示例
任一工作簿窗口被激活时,输出激活的窗口标题。
示例代码复制 |
function Application_WindowActivate(Wb, Wn) { Debug. Print("当前激活窗口是:"+ Wn.Caption) }
|
WindowDeactivate
任一工 作簿窗口被切换到非激活状态时触发此事件。
语法
function Application_WindowDeactivate (Wb, Wn)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
被切换到非激活状态的工作簿对象。 |
Wn |
必选 |
Window |
被切换到非激活状态的窗口对象。 |
示例
任一工 作簿窗口被切换到非激活状态时 ,输出激活的窗口标题。
示例代码复制 |
function Application_WindowDeactivate(Wb, Wn){ Debug.Print("当前被切换到非激活窗口是:"+ Wn.Caption) } |
WindowResize
任一工作簿窗口调整大小时将触发此事件。
语法
function Application_WindowResize (Wb, Wn)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
调整窗口大小的工作簿对象。 |
Wn |
必选 |
Window |
调整窗口大小的窗口对象。 |
示例
当触发事件时,弹出消息框提醒用户。
示例代码复制 |
function Application_WindowResize(Wb, Wn) { MsgBox( "窗口\""+ Wn.Caption + "\"大小发生了改变。") }
|
WorkbookActivate
工作簿被激活时,将触发此事件。
语法
function Application_WorkbookActivate(Wb)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
被切换的工作簿 |
示例
工作簿被激活时,弹消息框提醒用户。
示例代码复制 |
function Application_WorkbookActivate(Wb){ MsgBox("工作簿:" + Wb.Name +"被激活了。"); } |
WorkbookAfterSave
工作簿被保存之后触发此事件。
语法
function Application_WorkbookAfterSave(Wb, Success)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
保存的工作簿 |
Success |
必选 |
Boolean |
如果保存操作成功,则为true; 否则为false。 |
示例
工作簿被保存后,弹消息框提醒用户。
示例代码复制 |
function Application_WorkbookAfterSave(Wb, Success){ if (Success) { MsgBox("文档被成功保存!") } } |
WorkbookBeforeClose
有工作簿被关闭之前触发此事件。
语法
function Application_WorkbookBeforeClose(Wb, Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
关闭的工作簿 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次关闭。 |
示例
有工作簿被关闭时,弹消息框询问用户是否取消,用户点击“是”就会取消关闭工作簿。
示例代码复制 |
function Application_WorkbookBeforeClose(Wb, Cancel){ var ret = MsgBox("工作簿:"+ Wb.Name+"正在关闭。是否取消?", jsYesNo); if (ret == jsResultYes) Cancel.Value = true; } |
WorkbookBeforePrint
有工作簿被打印之前触发此事件
语法
function Application_WorkbookBeforePrint(Wb, Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
打印的工作簿 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次打印。 |
示例
有工作簿被印前时,弹消息框询问用户是否取消,用户点击“是”就会取消打印工作簿。
示例代码复制 |
function Application_WorkbookBeforePrint(Wb, Cancel){ var ret = MsgBox("工作簿:"+ Wb.Name+"即将打印。是否取消?", jsYesNo); if (ret == jsResultYes) Cancel.Value = true; } |
WorkbookBeforeSave
有工作簿被保存之前触发此事件。
语法
function Application_WorkbookBeforeSave(Wb, SaveAsUI,Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
保存的工作簿 |
SaveAsUI |
必选 |
Boolean |
如果为true则表示此次保存操作将会弹出保存或是另存为对话框。 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次保存。 |
示例
有工作簿被保存之前,如果会弹出保存或是另存为对话框的情况,弹消息框询问用户是否取消,用户点击“是”就会取消保存工作簿。
示例代码复制 |
function Application_WorkbookBeforeSave(Wb, SaveAsUI, Cancel){ if (SaveAsUI){ var ret = MsgBox("工作簿:"+ Wb.Name+"即将保存。是否取消?", jsYesNo); if (ret == jsResultYes) Cancel.Value = true; } } |
WorkbookDeactivate
工作簿被切换到非激活(非活动)状态时触发此事件。
语法
function Application_WorkbookDeactivate(Wb)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
被切换的工作簿 |
示例
工作簿被切换到非激活(非活动)状态时,弹消息框提醒用户。
示例代码复制 |
function Application_WorkbookDeactivate(Wb){ MsgBox("工作簿:" + Wb.Name +"被切换到非激活了。"); } |
WorkbookNewSheet
该工作簿中创建新工作表时触发此事件。
语法
function Application_WorkbookNewSheet(Wb, Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
新建工作表所在的工作簿 |
Sh |
必选 |
Object |
新建的工作表 |
示例
创建新工作表时,弹消息框提醒用户。
示例代码复制 |
function Application_WorkbookNewSheet(Wb, Sh){ MsgBox("新建了工作表:" + Sh.Name) } |
WorkbookOpen
工作簿打开时触发此事件
语法
function Application_WorkbookOpen(Wb)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Wb |
必选 |
Workbook |
打开的工作簿 |
示例该工作簿被打开时,弹消息框提醒用户。
示例代码复制 |
function Application_WorkbookOpen(Wb){ MsgBox("打开了工作簿:" + Wb.Name); } |
6、Workbook 事件
事件列表
名称 |
触发时机 |
Activate |
该工作簿被激活时,将触发此事件。 |
AfterSave |
该工作簿被保存之后触发此事件。 |
BeforeClose |
该工作簿关闭之前触发此事件。 |
BeforePrint |
该工作簿打印之前触发此事件。 |
BeforeSave |
该工作簿保存之前触发此事件。 |
Deactivate |
该工作簿被切换到非激活状态时触发此事件。 |
NewSheet |
该工作簿中创建新工作表时触发此事件。 |
Open |
该工作簿打开时触发此事件。 |
SheetActivate |
当激活该工作簿任一工作表时触发 此事件。 |
SheetBeforeDelete |
删除该工作簿任一 工作表之前触发此事件。 |
SheetBeforeDoubleClick |
双击该工作簿任一工作表之前 触发此事件。 |
SheetBeforeRightClick |
右击该工作簿任一工作表之前 触发此事件。 |
SheetCalculate |
在该工作簿任一工作表进行 计算时触发此事件。 |
SheetChange |
当用户或外部链接更改了该工作簿任一 工作表中的单元格时触发此事件。 |
SheetDeactivate |
当该工作簿任一 工作表被切换到非激活状态时触发此事件。 |
SheetFollowHyperlink |
单击该工作簿任一 工作表的超链接时触发 此事 件。 |
SheetSelectionChange |
该工作簿任一工作表上的选定区域发生更改时,将触发此事件。 |
事件
Activate
该工作簿被激活时,将触发此事件。
语法
function Workbook_Activate()
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
示例
该工作簿被激活时,弹消息框提醒用户。
示例代码复制 |
function Workbook_Activate(){ MsgBox("您激活了当前工作簿") } |
AfterSave
该工作簿被保存之后触发此事件。
语法
function Workbook_AfterSave (Success)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Success |
必选 |
Boolean |
如果保存操作成功,则为true; 否则为false。 |
示例
该工作簿被保存后,弹消息框提醒用户。
示例代码复制 |
function Workbook_AfterSave(Success){ if (Success) { MsgBox("文档被成功保存!") } } |
BeforeClose
该工作簿关闭之前触发此事件。
语法
function Workbook_BeforeClose(Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次关闭。 |
示例
该工作簿被关闭时,弹消息框询问用户是否取消,用户点击“是”就会取消关闭工作簿。
示例代码复制 |
function Workbook_BeforeClose(Cancel){ var ret = MsgBox("工作簿正在关闭。是否取消?", jsYesNo); if (ret == jsResultYes) Cancel.Value = true; } |
BeforePrint
该工作簿打印之前触发此事件
语法
function Workbook_BeforePrint(Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次打印。 |
示例
该工作簿打印前时,弹消息框询问用户是否取消,用户点击“是”就会取消打印工作簿。
示例代码复制 |
function Workbook_BeforePrint(Cancel) { var ret = MsgBox("工作簿即将打印。是否取消?", jsYesNo); if (ret == jsResultYes) Cancel.Value = true; }
|
BeforeSave
该工作簿保存之前触发此事件。
语法
function Workbook_BeforeSave(SaveAsUI,Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
SaveAsUI |
必选 |
Boolean |
如果为true则表示此次保存操作将会弹出保存或是另存为对话框。 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次保存。 |
示例
对该工作簿保存之前,如果会弹出保存或是另存为对话框的情况,弹消息框询问用户是否取消,用户点击“是”就会取消保存工作簿。
示例代码复制 |
function Workbook_BeforeSave(SaveAsUI, Cancel){ if (SaveAsUI){ var ret = MsgBox("工作簿即将保存。是否取消?", jsYesNo); if (ret == jsResultYes) Cancel.Value = true; } } |
Deactivate
该工作簿被切换到非激活(非活动 )状态时触发此事件。
语法
function Workbook_Deactivate()
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
示例
该工作簿被切换到非激活(非活动)状态时,弹消息框提醒用户。
示例代码复制 |
function Workbook_Deactivate(){ MsgBox("工作簿被切换到非激活了。"); } |
NewSheet
该工作簿中创建新工作表时触发此事件。
语法
function Workbook_NewSheet(Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
新建的工作表 |
示例
该工作簿创建新工作表时,弹消息框提醒用户。
示例代码复制 |
function Workbook_NewSheet(Sh){ MsgBox("新建了工作表:" + Sh.Name) } |
Open
该工作簿打开时触发此事件
语法
function Workbook_Open()
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
示例
该工作簿被打开时,弹消息框提醒用户。
示例代码复制 |
function Workbook_Open(){ MsgBox("工作簿被打开了。"); } |
SheetActivate
当激活该工作簿任一工作表时 触发此事件。
语法
function Workbook_SheetActivate (Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
激活的工作表对象。 |
示例
当激活了工作表时,弹消息框提醒用户。
示例代码复制 |
function Application_SheetActivate(Sh){ MsgBox("您激活了工作表:"+Sh.Name) } |
SheetBeforeDelete
删除该工作簿任一工作表之前 触发此事件。
语法
function Workbook_SheetBeforeDelete (Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
删除的工作表对象。 |
示例
删除该工作簿任一工作表之前,弹消息框提醒用户。
示例代码复制 |
function Workbook_SheetBeforeDelete(Sh){ MsgBox("您删除了工作表:"+Sh.Name) } |
SheetBeforeDoubleClick
双击该工作簿任一工作表之前触发此事件。
语法
function Workbook_SheetBeforeDoubleClick (Sh, Target, Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
双击的工作表对象。 |
Target |
必选 |
Range对象 |
双击区域所在的单元格对象。 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次双击。 |
示例
双击该工作簿任一工作表之前,如果双击操作在A1单元格上,则不响应双击操作(默认是进入编辑),否则则继续响应。
示例代码复制 |
function Workbook_SheetBeforeDoubleClick(Sh, Target, Cancel){ if (Target.Address() == "$A$1") Cancel.Value = true; } |
SheetBeforeRightClick
右击该工作簿任一工作表之前触发 此事件。
语法
function Workbook_SheetBeforeRightClick (Sh, Target, Cancel)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
右击的工作表对象。 |
Target |
必选 |
Range对象 |
右击区域所在的单元格对象。 |
Cancel |
必选 |
Object |
如果设置其属性Value为 true,则取消此次右击。 |
示例
右击该工作簿任一工作表之前,如果右击操作在A1单元格上,则不响应右击操作(默认是弹出右键菜单),否则则继续右击。
示例代码复制 |
function Workbook_SheetBeforeRightClick(Sh, Target, Cancel) { if (Target.Address() == "$A$1") Cancel.Value = true; }
|
SheetCalculate
该工作簿任一工作表进行计算时触发此事件。
语法
function Workbook_SheetCalculate (Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
计算的工作表对象。 |
示例
当工作表进行计算时,弹消息框提醒用户。
示例代码复制 |
function Workbook_SheetCalculate(Sh){ MsgBox("工作表正在计算:"+Sh.Name) } |
SheetChange
当用户或外部链接更改了该工作簿任一工作表中的单元格时触发 此事件。
语法
function Workbook_SheetChange (Sh, Target)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
修改的工作表对象。 |
Target |
必选 |
Range对象 |
修改的单元格Range对象 |
示例
工作表中的单元格被修改时,弹消息框提醒用户。
示例代码复制 |
function Workbook_SheetChange(Sh, Target){ MsgBox("工作表:" + Sh.Name + "。区域:"+Target.Address() + "。发生了修改") } |
SheetDeactivate
当该工作簿任一工作表被切换到非激活状态时 触发此事件。
语法
function Workbook_SheetDeactivate (Sh)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
被切换到非激活状态的工作表对象。 |
示例
任一工作表被切换到非激活状态时,弹消息框提醒用户。
示例代码复制 |
function Workbook_SheetDeactivate(Sh){ MsgBox("被切换到非激活的工作表:"+Sh.Name) } |
SheetFollowHyperlink
单击该工作簿任一工作表的超链接 时触发此事 件。
语法
function Workbook_SheetFollowHyperlink (Sh, Target)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
超链接所在的工作表对象。 |
Target |
必选 |
Hyperlink对象 |
Hyperlink对象,代表超链接的目标。 |
示例
单击该工作簿任一工作表的超链接时,弹消息框提醒用户。
示例代码复制 |
function Workbook_SheetFollowHyperlink(Sh, Target){ MsgBox("你点击了工作表\"" + Sh.Name + "\"上的超链接:"+Target.Address) } |
SheetSelectionChange
该工作簿任一工作表上的选定区域发生更改时,将触发此事件。
语法
function Workbook_SheetSelectionChange (Sh, Target)
{
function_body_statements
}
function_body_statements 代表了响应函数的函数体的语句。
参数
名称 |
必选/可选 |
数据类型 |
说明 |
Sh |
必选 |
Object |
选区改变的工作表对象。 |
Target |
必选 |
Range |
新选定的区域。 |
示例
当工作表上的选定区域发生更改时,弹消息框提醒用户。
示例代码复制 |
function Workbook_SheetSelectionChange(Sh, Target){ MsgBox("工作表\"" + Sh.Name + "\"选中的区域是:"+Target.Address() + "。") } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步