当前位置:主页 > Office办公

最新发布

FREQUENCY函数的精彩应用
FREQUENCY函数的精彩应用

FREQUENCY函数以一列垂直数组返回一组数据的频率分布,在之前的文章中,我们详细解了该函数的基础语法及应用示例。下面,我们以示例解FREQUENCY函数的一些精彩应用。示例1:统计不同数值的个数如下图1所示的工作表,在单元格区域A1:A8中有一列数值,我们需要使用公式算出该区域中不同数值的个数。此时,可以使用公式:=SUM(–(FREQUENCY(A1:A8,A1:A8)>0))计算结果为5,如图1中的单元格D2所示。在列表中,不同的数值是1、3、5、6、7共5个。图1注意到,这个公式不是数组公式,但它在计算过程中能够生成数组。首先,公式会转换成:=SUM(–(FREQUENCY({1;1;3;5;6;3;1;7},{1;1;3;5;6;3;1;7})>0))

Excel VBA变量和常量
Excel VBA变量和常量

在编写程序时,少不了要使用变量和常量,它们都是程序中很重要的元素,是组织程序的基础。一个示例下面是一个简单的VBA程序,用来计算半径为5的圆的面积。Sub 示例2()Const PI = 3.1415926Dim r As IntegerDim area As Doubler = 5‘ 计算半径为5的圆的面积area = PI * r * r

Excel VBA对象变量
Excel VBA对象变量

们已经了解了Excel VBA的变量,知道了如何给变量赋值。下面,我们详细谈谈Excel中很重要的对象变量。变量除了可以表示数值、字符串等外,还可以表示一个工作簿、一张工作表、一个单元格,这就是对象变量(Object类型的变量)。声明对象变量对象变量的声明没有什么特殊之处,仍然是使用Dim语句或者Public语句。下图1是一些常用的对象声明示例:图1注意:当我们不知道对象变量的具体类型时,可以将其声明为通用的Object类型。给对象变量赋值对象变量的赋值与普通变量的赋值不同,必须使用关键字Set。例如,使用下面的语句将变量rng声明为Range对象:

Excel VBA End With结构,专为对象而生
Excel VBA End With结构,专为对象而生

我们主要是和对象打交道,这包括各种各样的对象以及由这些对象组成的集合对象。我们来看看并学习Excel内部是如何处理对象的。我们先来录制一个宏。在Excel中,打开宏录制器,录制下面的操作:在工作表单元格A1中输入“Excel”,设置其字体为红色,单元格背景色为黄色。录制的代码如下:Sub 宏3()‘‘ 宏3 宏‘‘ActiveCell.FormulaR1C1 = “Excel”Range(“A1”).Select

Excel VBA员工管理系统开发
Excel VBA员工管理系统开发

“什么?才学了点皮毛就可以开发系统了?”我想您读到这儿,看到本篇的题目,一定会感到非常疑惑。如果您仔细体会了前面的小短文内容,就可以开始着手来试着做一些有趣的事情了。不错!现在我们就尝试用已学到的知识来逐步开发一套小系统。为何这么快就可以运用VBA来开始实战了呢?这就是Excel作为一个开发平台的优势!不过,在未开始之前,还是得声明一点,此时编写的代码会很“古板”,有很多约束,实现的功能也有限,你会觉得完全没有必要用VBA代码来实现。但我们此刻的目的是让您能够体会到Excel VBA的初步魅力,以及使用VBA实现手动操作的方法,更重要的是让您巩固前一阶段所学习到的知识。随着更加深入的学习,我们会逐步改善这个系统,使用的知识和技巧也会越多,系统功能也会更强大,系统也会越来越完善。系统初步规划员工管理系统的初步构想是:员工按表格要求填写相应的信息。自动汇总员工所填写的信息。查询某员工的信息。查询某员工的信息并能够自动显示在员工信息表中,方便打印输出。分析员工的信息,例如毕业5年的员工有多少、具备高级职称的员工有多少。

Excel VBA MsgBox函数
Excel VBA MsgBox函数

下面,继续做一些有趣的事情。让VBA能够给我们弹出对话框,让用户作出响应,实现与用户交互。这里要使用VBA的内置函数:MsgBox函数和InputBox函数。与Excel工作表函数一样,VBA也包含有各种内置函数,以简化计算和操作,而MsgBox函数和InputBox函数就是其中常用的函数。这里,先介绍MsgBox函数。显示信息MsgBox函数可以为我们提供输出信息,将VBA代码的运行结果告诉我们。看下面简单的示例,代码运行后会弹出一个对话框,如图右侧所示。此时,Excel告诉我们相关信息,并会等待我们作出响应,单击“确定”,对话框消失。当然,这只是MsgBox函数最基本的用法。我们可以让它显示更丰富的信息,例如,显示更有意义的标题、更多的选择按钮、图标,甚至获取用户响应后的值。将上面的程序代码修改如下:Sub MsgBoxTest()Dim i As Longi = 5

向左走,向右走——使用If语句选择
向左走,向右走——使用If语句选择

在日常生活中,我们常常要做出选择,例如,如果明天不下雨,我们就去郊游。在VBA中,也有类似的语句,让我们控制程序的执行方向,例如,如果单元格A1的值为0,那么就弹出警告消息“单元格A1的值不能为0”。将上面的描述用语句来表达,如下图所示:VBA中If-Then语句结构的基本语法如下:If 条件 Then 条件为真时执行的语句 [Else 条件为假时执行的语句]说明:条件为真(假)时执行的语句可以为一条或多条。方括号中的Else子句可选。前述示例完整的过程代码为:Sub testIf()

Excel VBA Select Case结构
Excel VBA Select Case结构

人生经常要面临“多选一”的情况,在编写程序代码时也是如此。在上篇文章中,我们讲解了使用If-Then结构来进行判断,也举了很多个小例子。我们看到,随着条件的增多,代码的结构也变得复杂或难以理解。幸运的是,VBA为我们提供了Select Case结构,让我们根据多个条件判断选择时,能够写出容易理解的代码。上篇文章的结尾举了一个例子:按照一定的规则,根据员工的工龄来确定员工的年休假天数:现在,我们使用Select Case结构来编写代码,实现相同的功能。首先看看示例代码:示例代码1Sub NianXiuTianWithSelectCase()‘声明变量,用来表示年休天数和工龄Dim lngDays As LongDim lngYears As LonglngYears = Range(“A1”).Value‘根据工龄确定相应的年休天数

Excel VBA解读有限次的循环
Excel VBA解读有限次的循环

这里,简要地谈谈有限次的循环结构,也就是For-Next循环。还是先看一个例子。我们如果想要在工作表单元格区域A1:A10中依次填写数字1至10,可以使用下面的代码:Sub ForNextTest1()Dim i As Integer ‘声明整型变量i‘使用循环为单元格填充数字For i = 1 To 10Cells(i, 1).Value = iNext iEnd Sub运行后,当前工作表中单元格区域A1:A10会填充数字1至10。上述代码中,Cells(i, 1)代表第i行第1列的单元格,语句Cells(i, 1) = i将i的值放入第i行第1列的单元格中。

Excel VBA对象模型
Excel VBA对象模型

大多数解Excel VBA的图书都是按照上图的顺序自上而下介绍Excel对象,即先解Application对象,接着 Workbook对象、Worksheet对象和Range对象。我们现在反过来,先我认为最重要的Range对象。应该说,绝大多数实用的Excel VBA程序都是对Range对象的操作,理解和掌握了Range对象,我们就可以使用VBA执行各种实用的操作。所以,先解Range对象,让您看到各种对单元格的操作实现,能够更好地激发和保持持续学习Excel VBA的动力。况且,在前面的文章中我们已经对Excel的其它对象有所了解,应该不会妨碍我们对Range对象的解和您对Range对象的学习理解。在ExcelVBA解读(8):看看Excel的那些常用对象(续2)中,我们介绍了代表或者引用单元格区域(Range对象)的各种方法,包括:Range属性、ActiveCell属性、Cells属性、Selection属性、Columns属性、Rows属性,等等。这些都很容易理解,并且图文对照的方式也能够加强对些属性的理解。在接下来的介绍中,我们也会采取这样的方式,并会配有一些简单的实例。这里,我们会详细介绍另外两种引用Range对象的属性:UsedRange属性和CurrentRegion属性。在很多时候这两个属性都很有用,能够简化我们的工作。Union方法可以合并多个单元格区域,Intersect方法可以获得多个单元格区域的重叠部分。在特定情况下,我们会用到这两个方法。在编程过程中,我们经常需要移动或者定位到特定的单元格,下面的属性或方法有助于完成我们的导航任务:Offset属性Resize属性SpecialCells方法End属性

共计75934条记录 上一页 1.. 2305 2306 2307 2308 2309 2310 2311 ..7594 下一页