当前位置:主页 > Office办公

最新发布

告诉你单元格住在哪儿——使用Address属性获取单元格地址
告诉你单元格住在哪儿——使用Address属性获取单元格地址

在Excel工作表中,通过顶部行的字母标识和左侧列的数字标识,我们能够很直观地看出单元格或单元格区域的地址,即通常我们所说的单元格A1、单元格区域A1:B5等。Excel对象模型也提供了Address属性,让我们通过VBA代码知道单元格或单元格区域的地址。下面,我们举几个简单的代码示例。代码:ActiveCell.Address返回当前工作表中当前单元格的地址。代码:Selection.Address返回当前工作表中所选区域的地址。代码:Range(“A1”).CurrentRegion.Address

怎么用excel vba开发学生管理系统
怎么用excel vba开发学生管理系统

经过不断完善,我们的系统已经能够自由地将<员工基本信息表>中输入的信息灵活地导入<员工信息数据库>中。现在,让我们能够查询<员工信息数据库>中的数据,并将查询结果自动显示到<员工基本信息表(查询)>中。为此,我们建立一张与<员工基本信息表>完全相同的工作表,将其命名为<员工基本信息表(查询)>。现在的工作簿有三张表,如下图所示。命名动态名称使用公式命名动态名称。单击“公式”功能区选项卡中的“定义名称”,调出“新建名称”对话框,将名称命名为“姓名”,在“引用位置”输入公式:=OFFSET(员工信息数据库!$C$1,1,0,COUNTA(员工信息数据库!$C:$C)-1,1)单击“确定”完成名称的定义,如下图所示。

快速定位到特定的单元格——SpecialCells方法
快速定位到特定的单元格——SpecialCells方法

特殊的东西总是会得到特别的照顾。在Excel中,可以使用“定位条件”来选择一些特定的单元格,例如空单元格、带有批注的单元格、当前区域,等等。下图所示为带有空单元格的工作表,我们要选择这些空单元格。这时,可以调出“定位条件”对话框,选取“空值”按钮,单击“确定”即可。如果将上述操作使用宏录制器录制下来,则录制的代码如下:‘ 宏1 宏‘‘Selection.SpecialCells(xlCellTypeBlanks).SelectEnd Sub从代码中可以看出,Excel使用了Range对象的SpecialCells方法并指定适当的参数值来达到选取工作表中所有空单元格的目的。这里,对应“空值”的参数值为xlCellTypeBlanks。那么,上图所示的对话框中的其它的单选按钮应该也对应着相应的参数值,来选择相应的单元格,如下图所示。

将单元格联合起来——Union方法
将单元格联合起来——Union方法

当我们需要对工作表中不同的区域进行某一操作时,可以使用Application对象的Union方法先将这些区域合成一个区域,然后对这个合成的区域统一操作。如下图所示,工作表中有三个单元格区域:A1:B2、C4:D5、E8:F9。我们要将单元格区域A1:B2和E8:F9的字体设置为红色。根据前面所学的知识,我们可以使用下面的代码实现:Range(“A1:B2”).Font.ColorIndex =3Range(“E8:F9”).Font.ColorIndex =3现在,我们使用Union方法来实现:Union(Range(“A1:B2”),Range(“E8:F9”)).Font.ColorIndex = 3为方便理解,将上面的代码分开表示(参考代码中的注释来理解):Sub testUnion3()

查找重叠的单元格区域——Intersect方法
查找重叠的单元格区域——Intersect方法

如果我们想知道两个单元格区域是否有共同的单元格,或者要知道两个区域中哪些是共有单元格,即两个单元格区域重合的部分,就可以使用Intersect方法。如下图所示,很容易看出单元格区域A1:C5与B3:E8相重合的区域是B3:C5,也就是红色单元格部分。下面的代码获取上图中两个单元格区域重合的部分,并赋值给变量rngIntersect,最后显示重合区域的单元格地址。Sub testIntersect1()‘声明单元格对象Dim rngIntersect As Range‘获取相重合的交叉区域Set rngIntersect =Intersect(Range(“A1:C5”), Range(“B3:E8”))MsgBox “A1:C5与B3:E8相重合的区域是:”& rngIntersect.Address

SUMPRODUCT函数详解(1)
SUMPRODUCT函数详解(1)

工作表有一类最基本的函数是基于某条件统计或汇总结果,例如COUNTIF函数或SUMIF函数,都是相当有用和灵活的函数,但仅局限于单条件。而本文将着重探讨基于多条件获得结果的函数——SUMPRODUCT函数。SUMPRODUCT函数是Excel中最“多才多艺”的函数之一。其基本功能是,数组中相应的项目相乘并返回结果之和。下面将介绍SUMPRODUCT函数经典的用法。SUMPRODUCT函数的标准用法SUMPRODUCT函数的基本用法是:一个数组中的每个值与另一个数组中相应的值相乘,返回乘积的和。示例1:如果单元格区域A9:A11中分别包含值1、2、3,单元格区域B9:B11中分别包含值10、20、30,那么=SUMPRODUCT(A9:A11,B9:B11)返回结果140,或者(1*10)+(2*20)+(3*30)=10+40+90=140。SUMPRODUCT函数的“进化”用法在Excel中,有两个非常有用的支持条件统计和求和的函数,分别是COUNTIF函数和SUMIF函数,但仅支持单个条件测试。举个简单的双条件测试例子。例如,公式=COUNTIF(A1:A10,>=10)-COUNTIF(A1:A10,>20)将得到在单元格区域A1:A10中介于10和20之间有多少项。然而,这种摸拟双条件测试的方法是有局限的,它不能处理不同的单元格区域或者更多的条件。

SUMPRODUCT函数详解(2)
SUMPRODUCT函数详解(2)

工作表有一类最基本的函数是基于某条件统计或汇总结果,例如COUNTIF函数或SUMIF函数,都是相当有用和灵活的函数,但仅局限于单条件。而本文将着重探讨基于多条件获得结果的函数——SUMPRODUCT函数。SUMPRODUCT函数是Excel中最“多才多艺”的函数之一。其基本功能是,数组中相应的项目相乘并返回结果之和。下面将介绍SUMPRODUCT函数经典的用法。SUMPRODUCT函数的标准用法SUMPRODUCT函数的基本用法是:一个数组中的每个值与另一个数组中相应的值相乘,返回乘积的和。示例1:如果单元格区域A9:A11中分别包含值1、2、3,单元格区域B9:B11中分别包含值10、20、30,那么=SUMPRODUCT(A9:A11,B9:B11)返回结果140,或者(1*10)+(2*20)+(3*30)=10+40+90=140。SUMPRODUCT函数的“进化”用法在Excel中,有两个非常有用的支持条件统计和求和的函数,分别是COUNTIF函数和SUMIF函数,但仅支持单个条件测试。举个简单的双条件测试例子。例如,公式=COUNTIF(A1:A10,>=10)-COUNTIF(A1:A10,>20)将得到在单元格区域A1:A10中介于10和20之间有多少项。然而,这种摸拟双条件测试的方法是有局限的,它不能处理不同的单元格区域或者更多的条件。

SUMPRODUCT函数详解(3)
SUMPRODUCT函数详解(3)

SUMPRODUCT函数的语法格式到目前为止我们所给出的示例中,SUMPRODUCT函数的格式是:=SUMPRODUCT((数组1=条件1)*(数组2=条件2)*(数组3))正如上文所提到的,我们也可以使用:=SUMPRODUCT((数组1=条件1)*(数组2=条件2),(数组3))运算符“*”仅需要将条件数组TRUE/FALSE强制转换为数值。当使用算术运算符强制将TRUE/FALSE值转换为1/0时,我们可以使用一些不同的运算符获得相同的结果。通过给每个条件数组分别乘以1也可以进行这样的强制转换:=SUMPRODUCT((数组1=条件1)*1,(数组2=条件2)*1,(数组3))或者:=SUMPRODUCT(1*(数组1=条件1),1*(数组2=条件2),(数组3))

SUMPRODUCT函数详解(4)
SUMPRODUCT函数详解(4)

在VBA中的条件统计和求和到目前为止,我们关于条件公式的所有讨论都是直接在Excel工作表中。有时,我们需要在VBA程序中对一些工作表单元格进行条件统计和求和。在这些情形下,编写简单的循环来遍历所有数据并检查它们是否与条件相匹配,统计汇总相匹配的项。Excel VBA允许在程序中调用内置的工作表函数,避免让我们再重复创建这些功能,极大地改善了VBA代码的能力。当在VBA中调用Excel函数时,如果不过度使用,那么任何的性能影响应该是最小的,优势也很明显。我们能够利用这种优势很容易地在VBA中获取条件统计和求和,但是要注意一些事项。作为示例,考虑下表中的数据(与上文中表相同)。如果需要使用VBA程序求单元格区域A1:A10有多少“Ford”,程序代码如下:Dim mModel As StringDim mCount As LongmModel = “Ford”mCount =Application.WorksheetFunction.CountIf(Range(“A1:A10”), mModel)此时,”Ford”的数量将被赋值给mCount变量,其值为4。

SUMPRODUCT函数详解
SUMPRODUCT函数详解

下面将介绍SUMPRODUCT函数的实际应用示例。示例1:统计内容为日期的单元格区域A42:A407中早于今天的数量,单元格区域J42:J407是一组变量数组值。解决方案:使用($A$42:$A$407<TODAY())处理日期测试。在单元格区域中已经设置了变量数组值,需要联合使用MATCH和ISNUMBER函数。=SUMPRODUCT((ISNUMBER(MATCH(J42:J407,Fred,0)))*($A$42:$A$407<TODAY()))示例2:统计某给定日期后的数量。解决方案:如果测试日期在某个单元格中,那么公式为:=SUMPRODUCT((C5:C309>$A$1)*(H5:H309=”A”))下面的公式展示了一项在所有版本Excel中,在SUMPRODUCT函数中测试日期的技术,在公式中嵌入日期字符串:=SUMPRODUCT((C5:C309>(–(“2004/05/31”)))*(H5:H309=”A”))示例3:在公式中不输入多个条件判断,而是将它们输入到单元格中,只是在公式中引用这些单元格,可以吗?

共计75934条记录 上一页 1.. 4422 4423 4424 4425 4426 4427 4428 ..7594 下一页