在日常工作中,Excel里面很多函数我们都用过,那在VBA中该怎么使用函数达到你的目的呢?

以上图为例,

一、用VBA在F2中计算金额,如果使用公式,那很简单,直接在F2中输入:

=B2*C2

在VBA中表达如下:

Sub 普通公式()

Range("f2") = "=b2*c2"

End Sub

等号后面直接双引号,双引号里公式和工作表里的公式一致,注意带等号。

二、如果是要一次性在F2:F8里输入公式呢?这里要用到循环语句,正好复习前面讲过的内容

Sub 普通公式1()

Dim x As Integer

For x = 2 To 8

Cells(x, 6) = "=b" & x & "* c" & x

Next x

End Sub

X是一个变量,代表行号,公式中用凡是文本与数字相连要用&符号,且文本必须用括号括起来。

这里我们用了cells,那可以用range吗?当然可以,只有这样举一反三我们才能真正掌握其写法:

Sub 普通公式2()

Dim X As Integer

For X = 2 To 8

Range("f" & X) = "=b" & X & "* c" & X

Next X

end sub

跟上面的代码很相似,从这个例子中我们观察到了,比如,我用VBA写A2单元格,应该是range("A2"),A2要用双引号括起来,但如果引用的是A列的任意一个单元格,Ax,x为变量,那么写法就是range("A"&x),而不需要在此基础上再加双引号了,同样,后面跟的公式中含有变量时写法也是如此。

我们也可以看到单元格的两种表示方式:

range("A1")后者是cells(1,1)

三、如果是要计算A产品的个数呢?

如果是工作表里,我们直接

=COUNTIF(A2:A8,"A")

那VBA中会是怎么样的呢?

Sub 普通公式3()

Range("D12") = "=COUNTIF(A2:A8,""A"")"

End Sub

跟上一个写法的区别在于,凡是原来公式里有引号的,在VBA中要多加一个引号。

前面两种情况,我们都了解了,一个是公式中没有引号的情况,一个是公式中有引号的情况。

四、那我们常用的数组公式,那个大括号,我们平常是按crl+shift+enter后自动加上去的,这种情况在VBA中怎么解决呢?

比如上例中:求金额之和,用数组公式是:

=SUM(B2:B8*C2:C8)

VBA中写法如下:

Sub 数组公式()

Range("e10").FormulaArray = "=SUM(B2:B8*C2:C8)"

End Sub

数组公式也是等号后面双引号里直接复制公式进去,不同在于,如果是数组公式,Range("e10")后要跟FormulaArray(表示数组公式)

五、在编辑栏中,我们可以看到,上面讲的几种情况均是使用VBA输入公式,而非用VBA直接得出值。我们平常在工作表中使用的函数叫做工作表函数,而VBA里也有自己的函数,如果在VBA中要调用工作表的函数直接获得值,语法如下(以计算A产品出现的次数为例):

Sub 调用公式()

Range("D12") = Application.WorksheetFunction.CountIf(Range("A1:A8"), "A")

End Sub

Application.WorksheetFunction.后面跟函数,并且函数的参数写法要按照VBA中的格式写,输入WorksheetFunction.后系统会自动弹出可以调用的工作表函数。

六、如果是使用VBA自己的函数,其语法如下:

假如A1中为-3,想在A2中得到A1的绝对值

Sub VBA函数()

Range("A2") = VBA.Abs(Range("A1"))

End Sub

VBA.后面跟函数。

转自: 米宏Office

vba 窗体单选框怎么传回sub_EXCEL表格VBA中函数的日常使用相关推荐

  1. vba 窗体单选框怎么传回sub_VBA之EXCEL应用

    一直以来,总想写一部面对EXCEL的专门VBA教程,今终得如愿.想我初学VBA时,也是从EXCEL入手,不知深浅,也很难窥探到VBA的全貌,花费了大量的时间,走了很多弯路,却难得其所,关键就是没有好的 ...

  2. html中单选按钮设置监听事件,浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),单选框radio...

    浅谈监听单选框radio改变事件(和layui中单选按钮改变事件),单选框radio 若是只引用jquery的话,监听单选按钮改变事件如下: 男 女 $(document).ready(functio ...

  3. MFC控件编程之复选框单选框分组框

    MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...

  4. 复选框如何实现单选框效果

    复选框一般可以选择多个item,选中的项放到一个数组中,每个item之间不是互斥的效果 而单选框一般是在同一个组中,组中的每个项彼此之间是互斥的,即:选择A,B就不能选,选择B,A就不能选 那么,怎么 ...

  5. html改变单选形状,用css实现html中单选框样式改变

    我们都知道,input的单选框是一个小圆框,不能直接更改样式.但是我们在很多网页中看到的单选框样式可不仅限于默认的那个样式(看上去没啥新意,也比较丑).那么,接下来我将介绍下如何实现该功能. 首先,让 ...

  6. html使用easyui单选按钮,Easyui radiobutton(单选框)_EasyUI 插件

    使用$.fn.iRadio.defaults重写默认值对象. Radio(单选框)允许用户选择一组选项中的某一项 用法 通过标签创建单选框. 使用Javascript创建单选框. $('#rb').i ...

  7. java过去单选框选择的内容_java单选框默认选中

    ; { } 运行程序后,输出结果为: 3.以下程序段是图形界面设计中在一个框架上放置两个单选框,其中两个选项 为"男"和"女" ,缺省情况下"男&qu ...

  8. vue 复选框默认选中_vue 实现单选框设置默认选中值

    vue 实现单选框设置默认选中值 vue中单选框的默认选中不同于传统方式设置checked,是通过在data中设置vulue来实现的 html部分是通过v-for取的后台的数据 生成后的代码就是 js ...

  9. Java - EasyExcel结合VBA实现Excel导出下拉多选框与单选框

    需求:导出一个带有单选下拉框与多选下拉框的excel模板 思路:1.使用VBA脚本设置带有多选框的模板2.使用EasyExcel给字段填充单选下拉框数据源 一.创建带有多选框宏的excel模板 *.x ...

最新文章

  1. 【Vegas原创】解决System.Web.Extensions版本冲突方法
  2. 将现有Git存储库推送到SVN
  3. [转]C#多线程学习(四) 多线程的自动管理(线程池)
  4. 心辽阔了,人生才能辽阔
  5. windows系统上openssh client的离线安装
  6. android 4个布局,Android - 4种基本布局
  7. 织梦在线报名平台php,DedeCMSv5
  8. 谷歌浏览器linux 64怎么安装插件,Ubuntu 16.04下安装64位谷歌Chrome浏览器
  9. Java多线程看着一篇足够了!
  10. RGB565 转 RGB
  11. PCB板载天线及PCB设计要点
  12. 学习 PixiJS — 动画精灵
  13. Trace使用(camera)
  14. linux环境查看cpu是否开启睿频
  15. 数位DP入门笔记(1)HUD-2089
  16. 如何添加其他网段的打印机
  17. P2415 集合求和(一道洛谷好题鸭)(虽然可以水过,但有必研究DP)
  18. word 尾注后面如何加正文?
  19. enum java 赋值_java enum无法赋初始值
  20. 中年人可以学计算机吗,中老年人学计算机与上网的操作系统是windows xp还是window7...

热门文章

  1. mysql的底层数据结构_MySQL索引底层数据结构实现原理
  2. Oracle触发器1-介绍
  3. 上位机服务器通讯协议,家庭监护终端与手机、上位机及服务器通讯协议22.doc
  4. java第五章课后题_黑猴子的家:Java SE 练习题第五章
  5. rcnn代码实现_轻松学Pytorch实现自定义对象检测器
  6. .net core 部署在Linux系统上运行的环境搭建
  7. Linux安装中遇到如下错误提示:"cannot find appropriate C++ compiler on this system"
  8. java中 Double和double区别
  9. Android开发笔记(八十四)使用Properties读写属性值
  10. ubuntu python3.7修改默认pip版本_详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本 安装python3后使用pip和pip3的区别...