vba中的函数定义

生活资讯 2023-08-11 16:12:46   点击量 : 8095  

作者 : 生活资讯通

vba中的函数定义

vba中的函数定义

VBA函数是一组可重复使用的代码,可以在程序中的任何地方调用。这消除了一遍又一遍地编写相同的代码的需要。这使程序员能够将一个大程序划分成许多小的可管理的功能模块。除了内置函数外,VBA还允许编写用户定义的函数。

如何在VBA中编写一个自定义函数,来求出满足条件的和?

Sub aa()
Dim StartRow, EndRow, StartCol, EndCol As Integer
Dim ValidColor, iRow, iCol As Integer
Dim S As Double
StartRow = 2
EndRow = 3
StartCol = 1
EndCol = 5
ValidColor = 5 '蓝色
'ValidColor = 3 '红色

For iRow = StartRow To EndRow
S = 0
For iCol = StartCol To EndCol
If Cells(iRow, iCol).Interior.ColorIndex = ValidColor Then
S = S + Cells(EndRow + 2, iCol)
End If
Next
Cells(iRow, EndCol + 1) = S
Next
End Sub

VBA自定义函数的问题

其实这个是range(index)?的用法,当然可以是其他数,除非你的选取只有一个单元格,那么只能有1

,range如果选择的是一个单元格区域的话,VBA会给区域的单元格编号,你可以用RANGE(编号方位),比如你选中了A1:B2的话:是按从左到右,从上到下依次给单元格标号的,如下:


A1????B1

A2????B2


编号是:


1?????2

3?????4


然后你用range("A1:B2")(1)访问的是A1,range("A1:B2")(2)访问的是B1,……以此类推


如果你还不能理解,把下面的示例代码运行一下你就明白了!

Sub?test()
????Dim?rng?As?Range
????Dim?x?As?Integer
????Dim?i?As?Integer
????Set?rng?=?Sheet1.Range("a2:c4")
????x?=?rng.Cells.Count
????For?i?=?1?To?x
????????Debug.Print?rng(i).Address(0,?0)
????Next?i
End?Sub

VBA自定义函数解读

Names("xzdm") ,Names("xzxx")指的是在工作表中,有两个以xzdm 和 xzxx 命名的单元格区域。

在2003中,插入——名称——定义。在“名称”可以找到对应的单元格。
在2007中,则是找到——公式——名称管理器。
快捷键组合都是(Ctrl+F3)

望采纳

在EXCEL中用VBA来自定义函数的问题

Function dj(a) 'a代表引用的那个单元格里面的内容,比如a为A1
If a >= 90 Then
dj = "优秀"
Else
If a >= 80 Then
dj = "良好"
Else
If a >= 70 Then
dj = "一般"
Else
If a >= 60 Then
dj = "及格"
Else
dj = "不及格"
End If
End If
End If
End If
End Function

***********
你有4个IF,当然要用4个ENDIF来结束啊.

***************

=DATEDIF(A1,NOW(),"Y")

本文来自网络,不代表生活常识网立场,转载请注明出处:http://sdsy56.com/shenghuozixun/308177.html

上一篇:

下一篇:

声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:15053971836@139.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

Copyright © 2022-2024 生活常识网 版权所有
生活常识网所有文章及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。
如本站内容有侵犯您的合法权益,请和我们取得联系,我们将立即改正或删除。客服邮箱:15053971836@139.com

备案号:鲁ICP备2022001955号-6 联系方式:15053971836@139.com

网站地图