在这篇文章中,我们将探索如何制作我们自己的功能用户定义函数或UDF),这将非常类似于那些原生的Excel,如总和,VLOOKUP,指数,匹配等。您可能会发现,由于各种原因,您想创建自己的公式。
- 你想要做的只是不可能用本机函数。创建一个UDF这可能是唯一的解决办法。
- 使用本机函数创建的公式太长,有太多重复输入,所以很难阅读。创建一个UDF可以简化。
如果你不太熟悉VBA,如何打开visual basic编辑器和在哪里放置代码,那么你可能想阅读这篇文章如何使用你在网上找到的VBA代码.
在我们的例子中,我们将创建一个UDF从引用的单元格返回单元格颜色。这将是一个非常简单的函数,只有三行代码,但没有本地Excel函数可以做到这一点和一个UDF是唯一的解决办法。
在本例中,我们有一组客户订单数据,但状态已经用颜色编码到order ID单元格中。用颜色编码的数据看起来不错,但用公式和数据透视表分析数据可能会很困难。为了将这种颜色编码转换为有形的数据,我们将创建一个UDF,以单元格作为输入并返回单元格格式颜色。
- 这里我们有一个颜色编码的图例,已经应用到我们的数据。
- 绿色= order has been收到了由客户。
- 黄色的= order has been运寄给客户,但尚未收到。
- 红色的=秩序已经尚未装运给客户。
- 我们的数据包含一个订单ID,该ID也用颜色编码,以包含订单状态。这个列包含两个不同的数据片段,但是可视数据不容易处理,我们希望在单独的列中将其转换为有形数据。
打开visual basic编辑器(VBE),可以使用键盘快捷键Alt +季或者去开发人员按下Visual Basic按钮下代码部分。
- 创建一个新模块插入UDF。
- 复制和粘贴将此代码导入VBE。
函数GetColour(SelectedRange为范围)GetColour = SelectedRange.Interior.Color结束函数
所有UDF的代码都包含这些主要组件。
- 打开和关闭-必须以函数然后用结束函数.
- 函数名-必须使用唯一的名称这个系统还没有用到。
- 变量的输入-这是你可以申报的地方你的UDF的论点.你可以用空括号()如果你的函数没有参数。
- 代码- UDF代码应该赋值到函数名。
现在,我们可以像使用其他原生Excel函数一样,在电子表格中使用UDF。由于我们将VBA保存在本地文件中的一个模块中,所以我们只能在这个特定的电子表格中使用UDF,它将无法全局使用。
- 开始键入我们的UDF= GetColour (在一个细胞。
- 函数自动完成将显示我们的UDF以及本机函数。
- Excel的彩色格式编码结果现在显示出来。
0评论