首页
学习
活动
专区
圈层
工具
发布

Excel VBA解读(140): 从调用单元格中获取先前计算的值

学习Excel技术,关注微信公众号: excelperfect 如果有一个依赖于一些计算慢的资源的用户定义函数,可能希望该用户定义函数在大多数情况下只返回其占用的单元格中最后一次计算得到的值,并且只偶尔使用计算慢的资源...GetSlowResource(vParam) End If End Function Application.Caller.Text 如果使用Application.Caller.Text,则不会获得循环引用,但会检索单元格中显示为字符串的格式化值...因此,如果单元格被格式化为带有2个小数位的数字,则检索到的值将被截断为2个小数位。...此函数也适用于多单元格数组公式。...小结 有几种方法可以从VBA用户定义函数的最后一次计算中获取先前的值,但最好的解决方案需要使用C++ XLL。

9.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    远离数据海洋,用excel打造信息数据查询表!

    EXCEL中我们经常需要查看大量数据,往往会让我们头疼不已,而今天为了减少迷失在大量数据中,制作一个简单的信息查询表,只查看自己想看的数据!...制作下拉菜单 用电影名称制作一个下拉菜单,用其与其它信息进行关联: 点击【电影名称信息写入的表格】 点击导航栏中的【数据】 点击【数据验证】或者【数据有效性】 在弹出的【数据验证】窗口中,选择【设置】...A1:D1,0),0) 其中VLOOKUP函数有四个参数,这里第一个参数要查找的项为下拉菜单中的电影名称,需要按F4进行绝对引用;第二个参数要查找位置选择数据源;第三个参数包含要返回的值的单元格区域中的列号...C2;lookup_array为要进行匹配到的区域,这里选择数据源中的表标题行;match_type为Excel 如何将lookup_value与lookup_array中的值匹配。...此参数的默认值为 1,这里为0。 输入完后,复制单元格格式,然后在其它相应的单元格点击鼠标右键,选择性粘贴为公式。 ? 上映时间需要更改单元格格式,应更改为短时间或者长时间格式: ?

    2.7K20

    使用NPOI生成Excel级联列表

    不过,在此之前,本人就算是在Excel中操作都不会设置下拉,跟别说级联下拉了,并且关于使用代码生成级联下拉这块,网上并没有相关的可以值得借鉴的内容,但是无论如何,Excel小白还是要挑战挑战的。...搞定了Excel,我们学到了以下几个概念: 通过名称管理器,我们可以定义序列,或者叫列表和数据源吧 通过数据验证,我们可以设置当单元格所绑定的序列 ?...通过INDIRECT函数,我们可以实现下拉级联效果: ? 其实这个级联的实现的思路很有意思,通过INDIRECT获取到关联单元格的值,然后这个值就是关联列表的序列名称。...("sheet1");//创建sheet IRow row = sheet.CreateRow(0);//添加行 row.CreateCell(0).SetCellValue("Test");//单元格写值...,参数4:结束列数 //这里的范围是单个单元格,因为我们的公式用到了具体的单元格地址 CellRangeAddressList regions = new CellRangeAddressList

    1.5K20

    WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一、如何从 Datagrid 中获得单元格的内容    DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. ...在DataGrid的Items集合中,DataGridRow 是一个Item,但是,它里面的单元格却是被封装在 DataGridCellsPresenter 的容器中;因此,我们不能使用 像DataGridView.Rows.Cells...这样的语句去获得单元格的内容。...== null) child = GetVisualChild(v); else break; } return child; }  二、WPF 使用值转换器进行绑定数据的转换...IValueConverter  有的时候,我们想让绑定的数据以其他的格式显示出来,或者转换成其他的类型,我们可以 使用值转换器来实现.比如我数据中保存了一个文件的路径”c:\abc\abc.exe”

    6.9K70

    功能这么全的excel导出,你确定不需要?

    它不仅仅是导出 Excel,它还能让你精确控制每一个单元格的格式、数据类型和样式。想象一下,几行代码就能生成一个定制化的表格!接下来,让我们一起来看看这个工具有多么强大。”...内存消耗:所有的 Excel 数据都会加载到内存中,处理大文件时会出现内存不足的情况。 适用场景:适合处理较小的旧版 .xls 文件,当数据量不大时可以使用。...适用场景:特别适合导出大数据量的 Excel 文件,因为它不会消耗太多内存。默认只保留一定数量的行在内存中,其他行会写入到磁盘的临时文件中。...cell.setCellValue((String) entry.getValue()); // 设置单元格的值为表头项的值 // 合并单元格,使该单元格占据两行.../ 创建新行,并将行索引递增 Row row = sheet.createRow(rowIdx++); // 列索引重置为0 int colIdx = 0; // 遍历数据行中的每个值

    31210

    Excel实战技巧62: 获取不重复的值作为数据验证列表项

    “数据验证”(在Excel 2013以前称为“数据有效性”)是Excel中的一项重要功能,它能够提供下拉列表供用户选择输入项,也能限制用户输入符合设定的数据。...选择要设置数据验证的单元格或单元格区域,在功能区“数据”选项卡中,选取“数据验证——数据验证…”命令,弹出“数据验证”对话框,在“允许”下拉列表中选择相应项,在“来源”中输入数据条件,如下图1所示。...图1 设置好的数据验证如下图2所示,本例中给单元格H1设置数据验证。 ? 图2 这样,在单元格H1中,我们可以从下拉列表中选择输入项了。...方法1:使用公式获取不重复值 如下图3所示,选择单元格E2,输入用于获取不重复值的数组公式,然后下拉至数据末尾,得到不重复项列表。 ?...方法3:使用Office365中的新功能—动态数组 选择单元格F1,输入公式: =SORT(UNIQUE(表1[名称])) 此时,Excel会自动将列中的不重复值分别输入到下面相邻的单元格中,如下图6所示

    8.6K10

    做完这套面试题,你才敢说懂Excel

    而这个功能的实现,在Excel里叫做【数据验证】。 选定要进行数据验证的单元格区域-【数据】-【数据验证】 在弹出的“数据验证”对话窗口里,选择“序列”、“来源”处。...也可以像本案例操作中一样,因为已在Excel单元格中输入了相对应的序列值 ,所以,直接选择序列值所在的该单元格区域即可。...6.总结 上面介绍到的Excel操作技能,如运用数据验证来制作下拉菜单、index+match函数的强大查找引用、文本提取类函数等,都是日常工作中最常用到的,所以小伙伴们赶紧实操起来吧。...而这个功能的实现,在Excel里叫做【数据验证】。 选定要进行数据验证的单元格区域-【数据】-【数据验证】 在弹出的“数据验证”对话窗口里,选择“序列”、“来源”处。...也可以像本案例操作中一样,因为已在Excel单元格中输入了相对应的序列值 ,所以,直接选择序列值所在的该单元格区域即可。

    5.7K00

    7道题,测测你的职场技能

    在日常工作中,对于敏感的数据需要进行临时隐藏,有人可能会将字体设置为白色,其实这是非常不专业的,一旦excel被填充了其他颜色,白色字体就立马暴露无遗。在这里我们可以通过自定义数据格式来实现。...3个分号是单元格自定义格式的分隔符。自定义格式代码的完整结构为:正数;负数;零值;文本。 以3个分号划分4个区段,每个区段的代码对不同类型的内容产生作用。...输入所需要的数据,如案例中输入的是“未知”;在输入结束时,按Ctrl+Enter组合键确认输入,此时,就会在选定的所有空白单元格里批量输入了相同的内容。...Excel所支持的通配符包含有两个:星号“*”和问号“?” *:可代替任意多个字符,可以是单个字符、多个字符或者没有字符。 ?:可代替任意单个字符。...鼠标单击表区域内任意一单元格,然后【数据】-【筛选】,就可以看到每个列表头,右侧都多了一个下拉箭头。

    4.8K11

    如何在C#中使用 Excel 动态函数生成依赖列表

    为此,请选择工作表中底部有空格的任何单元格以垂直溢出数据;我们使用了单元格T3。接下来,对所需的客户名称数据范围使用 UNIQUE 函数。...获得客户名称列表后,将其用作使用“列表上的数据验证”创建的主下拉列表的源。...在此博客示例中,此主下拉列表在单元格 L3 中创建。 使用 GcExcel,使用 IRange 接口的 API 在某个范围内配置数据验证。...为此,请再次选择工作表中的任何单元格(在此示例中,此单元格为 V2)。在此单元格中使用以下公式获取所需的 OrderID 列表。...为此,请添加类型列表的数据验证(与为主下拉列表添加的数据验证相同),并将其源值设置为包含上一步中公式的单元格值(即 =V2)前缀为 #。

    1.3K10

    精通数组公式17:基于条件提取数据(续)

    图10:使用AGGREGATE函数的公式提取满足条件的记录 示例:从一个查找值返回多个值 在Excel中,诸如VLOOKUP、MATCH、INDEX等标准的查找函数不能够从一个查找值中返回多个值,除非使用数组公式...下面是一个示例,如下图11所示,在单元格D3中是查找值,需要从列B中找到相应的值并返回列A中对应的值。 ?...+1),ROWS(E9:E9)))) 下拉复制至出现空单元格。...C18:C22)-ROW(C18)+1),ROWS(E22:E22)))) 下拉复制至出现空单元格。...4.有两种有用的方法来考虑数据提取公式:提取匹配一组条件的记录或数据;从单个查找值返回多个数据值。 注:本文为电子书《精通Excel数组公式(学习笔记版)》中的一部分内容节选。

    3.8K10

    做完这套面试题,你才敢说懂Excel

    而这个功能的实现,在Excel里叫做【数据验证】。 选定要进行数据验证的单元格区域-【数据】-【数据验证】 在弹出的“数据验证”对话窗口里,选择“序列”、“来源”处。...也可以像本案例操作中一样,因为已在Excel单元格中输入了相对应的序列值 ,所以,直接选择序列值所在的该单元格区域即可。...如图,设置了数据验证的区域,鼠标单击时,就会在右边出现下拉按钮,点击,就会弹出我们刚才设置好的序列菜单。 那如果输入其他值时想要有提醒,又该如何设置呢?...设置好出错警告后,当我在设置了数据验证的区域里输入不是“电脑用品,工业用品,工艺收藏,户外运动,家居园艺”中的任意一个值时,就会弹出提示,如下图: 问题4:为销售员匹配对应的小组,并将小组-销售员-产品线组合到一个单元格...6.总结 上面介绍到的Excel操作技能,如运用数据验证来制作下拉菜单、index+match函数的强大查找引用、文本提取类函数等,都是日常工作中最常用到的,所以小伙伴们赶紧实操起来吧。

    2.9K10

    Excel宏教程 (宏的介绍与基本使用)

    2、工作表:Worksheets、Worksheet、ActiveSheet Worksheets集合包含工作簿中所有的工作表,即一个excel文件中的所有数据表页;而Worksheet则代表其中的一个工作表...而其中的每个Range对象代表选定区域内与其它部分相分离的一个连续单元格块。...某些操作不 能在选定区域内的多个单元格块上同时执行;必须在选定区域内的单元格块数Areas.Count上循环,对每个单独的单元格块分别执行该操作。...三)、处理单元格 1、直接赋值与引用 将变量、常量值直接赋给单元格、或将单元格的值直接赋给变量、常量,这是在excel中最简单的单元格赋值及引用方法。...如下例将工作表”Sheet1″A1单元格的值赋给Integer变量I,并将I+1的值赋给当前工作表中的B1单元格: Dim I As Integer I=Worksheets(“Sheet1”).Cells

    9.6K10

    VBA:利用高级筛选自动筛选列表

    标签:VBA,高级筛选 这是thesmallman.com上的一个示例,利用VBA、高级筛选和公式进行数据筛选。 这个示例的目的是根据数据验证下拉列表选择要在列表中筛选的数据,并显示相应的数据。...示例的一个优点是能够对下拉列表中选择的项目进行筛选,或合并所选项目(所有项目以及单个项目)。例如,可能希望看到周日发生的事故,但也可能希望看到全天发生涉及多辆车的事故。...那么,现在有了显示每个条件的一个或全部的公式。 此时,如果从单元格K2到K4的任何单元格发生变化,则需要运行相应的过程,因此需要调用工作表的Change事件。...End If End Sub 如果单元格区域K2:K4中的任何单元发生变化,将触发上面的过程。...C5:E6中,这些单元格为高级筛选提供了条件。

    2.8K41

    2.4 数据清洗12招

    1 首行作标题 我们把数据获取到查询器中往往首行的标题是未识别的状态,只需单击将第一行作为标题。 ?...值得一提的是PQ中的拆分比Excel中的设计更强大,可按分隔符和字符数。 ?...8 填充 填充有向上和向下两个方向,顾名思义,即把上面或下面的单元格内容填充到无效单元格或空白单元格中。...该功能在Excel的实现方式是查找错误或空白,在当前单元格输入=上面或下面单元格后按Ctrl+Enter,现在利用PQ就不需要繁琐的小技巧操作了。...10 排序 这个排序与Excel是一样的,在筛选下拉箭头下可以对数据排序。(不要小看排序功能,在复杂数据分析时,排序配合索引列在行数据处理时会有奇效,在这里做个预先提示。) ?

    2.9K30

    Excel实战技巧108:动态重置关联的下拉列表

    本文主要讲解如何使用少量的VBA代码重置Excel中相关联的下拉列表。...在相互关联的数据验证(即“数据有效性”)列表中常见的问题是:当更改第一个数据验证的值时,与其相关联的数据验证的值会一直保留,直到你激活其下拉列表。这可能会产生误导。...下面将介绍如何在第一个下拉列表中的值发生变化时自动重置与其关联列表的值,这里使用ExcelVBA执行此操作,使用了工作表对象的Change事件过程。...如下图1所示,我们创建了一个级联列表,当单元格C2中选择不同的分类时,在单元格C6中会出现不同的下拉列表项。例如,在单元格C2中选择“水果”,单元格C6中将显示相关的水果名称,可以从中选择水果名。...打开VBE,在左侧“工程资源管理器”中,双击数据验证所在的工作表名,在右侧代码窗口顶部,左侧下拉列表选择“Worksheet”,右侧下拉列表选择“Change”,如下图3所示。

    5.5K20

    Excel表格中最经典的36个小技巧,全在这儿了

    技巧4、查找重复值 选取数据区域 - 开始 - 条件格式 - 突出显示单元格规则 - 重复值。 ? 显示效果: ? 技巧5、删除重复值 选取含重复值的单元格区域,数据 - 删除重复值。 ?...技巧8、隐藏0值 表格中的0值如果不想显示,可以通过:文件 - excel选项 - 高级 - 在具有零值的单元格 ? 技巧9、隐藏单元格所有值。...技巧23、快速关闭所有excel文件 按shift键不松,再点右上角关闭按钮,可以关键所有打开的excel文件。 ? 技巧24、制作下拉菜单 例:如下图所示,要求在销售员一列设置可以选取的下拉菜单。...分析:在excel里制作下拉菜单有好几种方法,我们这里是介绍用数据有效性设置下拉菜单, 设置步骤: 步骤1:选取销售员一列需要设置下拉菜单的单元格区域(这一步不能少),打开数据有效性窗口(excel2003...技巧32、解决数字不能求和 数据导入Excel中后居然是以文本形式存在的(数字默认是右对齐,而文本是左对齐的),即使是重新设置单元格格式为数字也无济于事。

    11K21

    遇到复杂业务查询,怎么办?

    在Excel表空白的地方,写上A机构、B机构、C机构,用于后面制作下拉列表里的值(下图)。这样做的目的是防止重复值出现在下拉列表里。...image.png 第2步:选中需要创作下拉列表的地方,也就是表中的I5单元格,然后在Excel中点【数据】——【数据验证】,打开数据验证对话框。...同样的道理,如果B列的利率档没有重复值在创作下拉框时可以直接作为数据验证对话框里的来源。 如果有重复值的话,和机构处理的方式一样,在表格空白处写上这一列删除重复值后的利率作为数据验证对话框里的来源。...期限的下拉框也是一样的操作,操作动态图如下: 如果后期的机构,利率档或者期限有增删改,做出相应的改动后,在数据验证对话框里的来源重新选择改动后的单元格区域范围即可。举个例子。...如下图所示,C机构改成了E机构,再添加F机构,那么需要在数据验证对话框,把来源处的单元格范围要做相应的修改,再按确定即可。

    2.2K10

    【解密附下载】使用OFFICE365新函数实现多级联动下拉查询并返回多值结果

    剩下的,改变某个单元格内容,其他单元格可以同步改变,这样的效果,只能从函数上找方案了。...Excel催化剂插件提供非常轻松易行的电脑端可用的多级联动下拉的解决方案,纯界面操作,零门槛配置, 本篇所使用的数据源,非常干净、规范,一个纯一维表结构的数据源,所有的维护,仅需基于此表格进行维护即可。...多级联动下拉技术实现 本篇中的多级联动下拉和模糊查找功能,皆用了OFFICE365的动态数组函数功能。 其中多级下拉中,使用【数据验证】的序列验证功能,将省、市、区县的查询值框定在指定范围内。...[区县名称]=区县级查询值,TRUE,IF(原始表[辅助列]*IF(区县级查询值="",1,0),TRUE,FALSE)) 而查询值,即查询面板里的定义了【数据验证】的单元格的值,根据其父值动态生成子值的...查询结果返回值实现 一般多级联动方案中,仅用于做数据录入使用,本篇突破性地将其更深推进,可作为查询内容返回处理。将单元格交互后的值,作为返回内容的查询条件进行约束,动态返回不同内容。

    5.7K30
    领券