zt在VBA中调用excel工作表中的函数

在VBA中调用excel工作表中的函数

.VBA中调用excel工作表中的函数

VBA中不能直接调用excel工作表中的一些函数,如果调用就必须加上Application.WorksheetFunction

SUM求和为例,SUM求和语法和工作表中一样,但不能直接用SUM(A1:A20),要用VBA的表示方法 SUM(RANGE(“A1:A20”)).

另外,说明下是不是每个函数前都要加Application.WorksheetFunction?,如果单个调用必须加,如果多个调用就可以用WITH语句省去后面的。

单个调用情况:

Sub 矩形1_单击()

Dim x As Integer

For x = 1 To 20

Sheets("sheet1").Cells(x, 1) = x

Sheets("sheet1").Cells(x, 2) = x + 1

Sheets("sheet1").Cells(x, 3) = Cells(x, 1) * 3 + Cells(x, 2) * 4

Next

Range("c21").Value = Application.WorksheetFunction.Sum(Range("c1:c20"))

End Sub

多个调用情况:

Sub 矩形1_单击()

Dim x As Integer

For x = 1 To 20

Sheets("sheet1").Cells(x, 1) = x

Sheets("sheet1").Cells(x, 2) = x + 1

Sheets("sheet1").Cells(x, 3) = Cells(x, 1) * 3 + Cells(x, 2) * 4

Next

With Application.WorksheetFunction

Range("a21").Value = .Sum(Range("a1:a20"))//注意此处一定要单独一行 不然会报错

Range("a22").Value = .Average(Range("a1:a20"))

End With

End Sub注意.Sum.Average前要有一个英文实心点”.”。结果如下图所示

为了您的安全,请只打开来源可靠的网址

打开网站 取消

来自: http://hi.baidu.com/pinenutcandy/blog/item/b4a3e0fa1f9fe317a8d311d0.html
[@more@]

在Excel VBA中调用Excel自带函数-Excel VBA学习

前段时间为公司实验室编制测试数据库,其中遇到一个问题,怎样在VBA中使用Excel自带的一些函数呢?如min,max,average等等。
本以为能在Excel表格中直接使用的函数也能直接移植到VBA中,结果发现根本行不通,程序报错。后来通过多方查询发现,虽然不能直接引用,但是我们可以曲线救国,excel中表格可以用max函数,在VBA中也可以用,只需通过WorksheetFunction对象就可以引用,后面加函数名称,然后加range来引用单元格。举个例子:
Application.WorksheetFunction.Max(range("A1:C5"))
下面就是能在VBA中使用excel自带函数:
A__

Acos

Acosh

设置excel单元格下拉菜单的3种方法

默认分类 2010-03-18 11:45:35 阅读284 评论0 字号: 订阅

一、直接输入:

1.选择要设置的单元格,譬如A1单元格;

2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;

3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据,譬如“1,2,3,4,5,6,7,8,9”(不包括双引号,分割符号“,”必须为半角模式)→按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。

二、引用同一工作表内的数据:

如果同一工作表的某列就是下拉菜单想要的数据,譬如引用工作表Sheet1的B2:B5,B2:B5分别有以下数据:1、2、3、4,操作如下:

1.选择要设置的单元格,譬如A1单元格;

2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;

3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据“=$B$2:$B$5”,也可以按右边带红色箭头的直接选择B2:B5区域→按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。

三、引用不同工作表内的数据(必须用到定义名称):

如果不同工作表的某列就是下拉菜单想要的数据,譬如工作表Sheet1的A1单元格要引用工作表Sheet2的B2:B5区域,工作表Sheet2的B2:B5分别有以下数据:1、2、3、4,操作如下:

1.定义名称:菜单栏→“插入”→“名称”→“定义”→弹出“定义名称”窗口,在“在当前工作薄中的名称”下面输入“DW”(可以自己随便明明)→“引用位置”下面输入“=Sheet2!$B$2:$B$5”,也可以按右边带红色箭头的直接选择B2:B5区域→按“添加”后再按“确定”完成第一步。

2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;

3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入“=DW”,“DW”就是刚刚定义好的名称,按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。

excel2007通过单元格区域创建下拉列表

若要使数据输入更容易,或将输入限制到您定义的某些项,则可以创建一个从工作簿其他位置的单元格进行编译的有效条目构成的下拉列表。创建单元格的下拉列表时,它将在该单元格上显示一个箭头。若要在该单元格中输入信息,请单击箭头,然后单击所需的条目。

若要从单元格区域创建下拉列表,请使用“数据”选项卡的“数据工具”组中的“数据有效性”命令。

  1. 若要为下拉列表创建有效条目列表,请在没有空白单元格的单个列或行中键入条目。例如:

    注释 可能需要将数据按希望它出现在下拉列表中的顺序进行排序。

  2. 如果要使用另一个工作表,请在该工作表中键入列表,然后为列表定义一个类别:office学习

请使用浏览器的分享功能分享到微信等