计算机, 软件
VBA Excel中:示例程序。 在Excel宏
很少有人知道,流行的Microsoft Excel产品的第一个版本出现在1985年。 从那时起,它已经历了多次修改和全球数百万用户的需求。 不过,只有拥有此电子表格的一点点能力,许多工作,甚至不知道他们如何让生活的能力到Excel编程更简单。
什么是VBA
在Excel编程是由始建于微软最有名的电子表格的Visual Basic应用程序的编程语言来完成。
为了他的功绩专家认为相对容易开发。 实践表明,VBA可以掌握的基础知识,甚至没有专业的编程技能谁的用户。 对于VBA功能包括在办公应用环境中执行脚本。
该方案的缺点是具有不同版本的兼容性相关的问题。 它们是由程序的VBA代码是指存在于该产品的新版本,但不是在旧的功能造成的事实。 还有一个很大的缺点和代码过高开放改变一个陌生人的脸。 但是,Microsoft Office和IBM的Lotus Symphony,用户可以应用加密入口代码和密码设置进行查看。
对象,集合,属性和方法
这是你需要了解那些谁是要在VBA环境中工作,这些概念。 首先,你必须了解对象是什么。 在Excel中,在该充当片,一本书,和单元格范围。 这些对象有特殊的层次结构,即 顺从对方。
其中最主要的是应用程序,相应的Excel程序本身。 其次工作簿,工作表和范围。 例如,提及的单元格A1上的特定片材必须指向的方式,考虑到的层次结构。
对于“收藏”,该组同一个类的对象,其中记录被赋予ChartObjects的概念。 它的元素也是对象。
接下来的事情 - 性能。 他们是任何对象的必要特征。 例如,对于范围 - 是一个值或公式。
方法 - 是要表明你想命令。 当在VBA编写代码它们从物体点分离。 例如,如将在后面示出,很经常在“EXCEL”使用细胞命令(1,1)。选择编程时。 这意味着,有必要选择具有坐标的单元(1,1),即 A1。
但是,它常常被Selection.ClearContents。 它的实现是清除选定单元格的内容。
如何启动
首先,你要创建的文件并将其保存,指定一个名称,然后选择«图书Excel中启用宏的类型。”
然后,转到VB应用程序,这是足够用了«Alt键»键和«F11»的组合。 下一页:
- 在窗口顶部的菜单栏中,点击旁边的Excel图标上;
- Mudule选择的命令;
- 继续点击上用软盘的图标;
- 写,也就是说,一个代码大纲。
它看起来如下:
子节目()
“我们的代码
结束小组
请注意,行““我们的代码”将会以不同的颜色(绿色)被高亮显示。 这样做的原因撇号,在字符串,这表明接下来就是注释的开始交付。
现在,你可以写任何代码,并为自己在VBA Excel中的新工具(见示例程序。等)。 当然,那些谁是熟悉Visual Basic的基础知识,这将是容易得多。 然而,即使是那些没有谁,如果你希望能够得到舒适的相当迅速。
在Excel宏
这个名字的背后隐藏着写的应用程序语言Visual Basic程序。 因此,编程到Excel - 是创建一个宏到所需的代码。 有了这个功能,微软的电子表格自主研发,适应特定用户的需求。 已经处理了如何编写宏创建模块,可以使用VBA Excel程序的具体例子进行。 最好是先从最基础的代码。
例1
任务:编写一个程序,将复制的一个单元格的内容的价值,然后写到另一个。
要做到这一点:
- 打开选项卡的“查看”;
- 移动图标“宏”;
- 摇到了“录制宏”;
- 填写打开的表单。
为简单起见,在“宏名”离开“Makros1”,并在“快捷键”被插入,例如,HH(这意味着你可以运行示例程序会«按Ctrl + H»突击队)。 按Enter键。
现在你已经开始录制宏,弥补了单元格的内容到另一个。 返回到原来的图标。 点击“录制宏”。 这一行动标志着小程序的完成。
下一页:
- 再次移动到字符串“宏”;
- 在列表中选择了“宏1”;
- 点击“运行”(推出快捷键相同的动作开始«按Ctrl + HH»)。
其结果是,已录制宏期间执行的操作。
这是有道理的,看看代码是如何模样。 要做到这一点,回去字符串“宏”,然后单击“编辑”或“Enter”键。 结果,他们发现自己在VBA环境。 实际上,代码本身位于线之间的宏分Makros1()和End Sub。
如果拷贝已被执行,例如,在从小区C1的小区A1,的代码行中的一个将看起来像范围(“C1”)。选择。 在翻译中,它看起来像“范围(” C1“)。选择”,换言之,使得对VBA Excel中的一个过渡,在单元格C1。
代码的活动部分结束ActiveSheet.Paste队。 它意味着记录在所选择的小区C1选择的小区(在此情况下,A1)的内容。
例2
VBA周期有助于在Excel中创建不同的宏。
VBA循环帮助创建不同的宏。 假定有一个函数Y = X +×3个 + 3×2 - COS(X)。 你想创建它的图形宏。 这只能通过使用VBA周期来完成。
对于参数的函数的初始和最终值取X1 = 0和x 2 = 10。 此外,有必要引入一个常数 - 用于步骤值改变参数,并为计数器的初始值。
使用如上所述的相同程序被创建VBA Excel宏的示例。 在这种特殊情况下,代码如下:
子PROGRAMM()
X1 = 1
X2 = 10
沙格= 0.1
I = 1
别虽然X1
Y = X1 + X1 ^ 2 + 3 * X1 ^ 3 -的Cos(X1)
细胞(I,1)。价值= X1(X1值写入存储器与坐标(i,1))
细胞(1,2)。价值= Y(Y值被写入在使细胞与坐标(i,2))
I = I + 1(有效计数);
X1 = X1 +沙格(自变量被变更为步长);
环
结束小组。
作为该运行宏的结果“EXCEL”获得两列,其中第一个被记录的值x和第二 - 为y。
然后计划能够建立他们的标准为“创先争优”。
例3
为了实现循环在VBA Excel 2010中,以及在其他版本中,伴随着已经减少做,当使用的设计为。
考虑创建一个列的程序。 在每个小区中,将被记录对应的行号的正方形。 对于使用设计将允许记录它很简单,不使用计数器。
首先,它必须创建宏,如上所述。 接下来,编写代码本身。 我们相信,我们有兴趣为10个单元格的值。 的代码如下。
对于i = 1至10下
该命令被传递到“人”的语言,如“在一个为增量从1重复到10”。
如果任务接收与方形柱,例如,1和11之间的所有奇数,我们写:
对于i = 1〜10的步骤1下一步。
在这里,一步 - 步。 在这种情况下,等于2。 默认情况下,不存在在环字意味着单个步骤。
结果需要被存储在单元数(i,1)。 然后,每一次我一步将自动增加和行号开始与增加值的周期。 因此,会出现代码优化。
一般来说,代码如下所示:
子节目()
对于i = 1至10步骤1(只能写入,对于i = 1〜10)
细胞(I,1)。价值= I ^ 2(即平方值被写入到该单元(i,1)ⅰ)
下一步(在某种意义上扮演的计数装置和另一个周期开始的角色)
结束小组。
如果操作正确,包括记录和运行宏(见。上面的指令),则它被称为一个给定的尺寸,将获得的列(在这种情况下,包括10个细胞的)各一次。
例4
在日常生活中,经常有必要在某些条件下采取这样或那样的决定。 在Excel中VBA,没有他们做不到的。 其中算法的进一步过程中被选择的,而不是程序的示例最初预定的,最常用的。如果设计...然后(对于困难的情况下)如...则... END如果。
考虑具体情况。 假设你想创建一个“创先争优”宏与坐标单元(1,1)已被记录:
1,如果该参数为正;
0如果参数是零;
如图1所示,如果参数为负。
为“创先争优”这样一个宏的创作开始以标准的方式,通过使用“热”键Alt键和F11的。 另外写了下面的代码:
子节目()
X =细胞(1,1)。价值(该命令指定的细胞含量x坐标的值(1,1))
如果x> 0,则细胞(1,1)。价值= 1
如果x = 0。然后将细胞(1,1)。价值= 0
如果x <0,则细胞(1,1)。价值= -1
结束小组。
它仍然为参数运行宏和“创先争优”获得所需的值。
VBA函数
正如你可能已经注意到,在最有名的节目微软电子表格应用程序是不是太困难。 特别是如果你学会如何使用VBA功能。 总的来说,这个编程语言中的“创先争优”字,约160函数编写应用程序创建的。 它们可以分成几个大组。 它们是:
- 数学函数。 他们应用到余弦值的参数获得,自然对数,因此整体的一部分。
- 金融功能。 由于在Excel其可用性和使用的编程,即可获得会计和财务结算的有效工具。
- 阵列处理功能。 这些包括阵列,IsArray的; LBOUND; UBound函数。
- VBA Excel函数的线。 这是一个相当大的群体。 它包括,例如,空间函数来创建与多个间隙等于一个整数参数或ASC传送符号以ANSI代码的字符串。 所有这些都广泛使用,并允许您使用在“创先争优”的字符串创建应用程序更容易使用这些表携手。
- 数据类型转换功能。 例如,CVAR返回表达式参数,将其转换为变量数据类型。
- 日期函数。 他们大大拓展“创先争优”的标准功能。 所以,WEEKDAYNAME函数返回名称本周其数天的(全部或部分)。 更为有用的是定时器。 他给自午夜起已经过到一天中的特定时刻的秒数。
- 函数将数值参数转换成不同的数字系统。 例如10月输出到数的八进制表示。
- 格式化功能。 最重要的是格式。 它返回一个变体与根据所述格式的描述中给出的指令格式的表达式。
- 等等。
这些功能和应用性能的研究将显著扩大“创先争优”的范围。
例5
让我们试着去解决更复杂的问题。 例如:
丹纸质文档的企业报告的费用的实际水平。 要求:
- 通过电子表格“EXCEL”发展其图案部分;
- 做一个VBA程序,将要求原始数据来填充它,进行必要的计算,并在相应的单元格的填充模板。
请看下面的解决方案之一。
创建模板
所有操作均在标准表在Excel中进行。 为对输入数据保留游离细胞 一个月,一年, 标题,消费类公司,费用的数额,他们的营业额水平。 随着企业(公司),在这方面的不被记录的报告数量,细胞产生的价值观和专业名称的基础上预先不保留。 工作表分配到一个新的名字。 例如,“Օ报告”。
变量
写程序模板自动填写,选择的符号。 它们将被用于变量:
- NN-表的当前行数;
- TP和TF - 计划和实际营业额;
- SF和SP - 实际和计划总成本;
- IP和IF - 计划和实际成本水平。
我们用相同的字母,但有一个“前缀»Itog积累总该列。 例如,ItogTP - 关于列标题,如“计划的营业额。”
使用VBA编程问题的解决方案
使用这个符号,我们获得的方差的计算公式。 如果你想在%来进行计算,我们有(F - P)/ P * 100,并且在量 - (F - P)。
这些计算的结果可能是最好的只是为了让“创先争优”电子表格在相应的单元格。
对于由式ItogP = ItogP + P和ItogF = ItogF + F.得到实际上的结果和预后
对于使用偏差=(ItogF - ItogP)/ ItogP * 100如果计算被执行为百分比,并且如果该合计值 - (ItogF - ItogP)。
结果再一次记录在相应的单元格,所以没有必要将它们分配给变量。
开始创建一个程序之前要保存工作簿,例如,名称为“Otchet1.xls”下。
按“创建报告表”,则必须输入标题信息后,按只有1次。 你应该知道和其他规则。 特别地,按钮“添加一条线”必须每次进入每个活动值的表之后被按压。 输入所有按下按钮“完成”,然后在窗口中切换到“创先争优”所需的数据之后。
现在你知道如何使用宏来解决Excel的任务。 可能需要在最流行的文本编辑器“Vord”的环境中应用vba excel(程序的示例,见上文)的能力。 特别是,如文章开头所示,或通过编写代码创建菜单按钮,您可以编写文本,通过按键或“查看”选项卡和“宏”图标可以执行文本上的许多操作。
Similar articles
Trending Now