首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当某个值在参考范围内更改时,VBA将更新公式

当某个值在参考范围内更改时,VBA将更新公式
EN

Stack Overflow用户
提问于 2017-01-26 07:31:28
回答 1查看 1.7K关注 0票数 1

我有一个Excel公式,其中给出了上星期五的日期“=-WEEKDAY() A1 (今天)-1”

只有当另一个工作表B2:D 469中的引用范围内的值发生变化时,我才想更新单元格A1。

下面是我正在使用的代码,但问题是只有在手动更改范围时,代码才能工作。但是,当源透视表刷新时,范围中的值将被更新。我希望在刷新pivot表时更新代码,"B2:D469“范围内的值将发生更改。

代码语言:javascript
运行
AI代码解释
复制
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range

Set KeyCells = Worksheets.("Source").Range("B2:D469")

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then

Worksheets.("Dashboard").Range ("A1").EnableCalculation = True

End If
End Sub
EN

回答 1

Stack Overflow用户

发布于 2017-01-26 13:48:05

Range.Dependents

Range有一个属性Dependents,它是一个包含此范围影响的所有单元格的范围,即使这些单元格已被移除几个步骤。例如,如果C4为"= B4“,而B4为"=A4",则Range("A4").Dependents将同时包含B4和C4。

因此,在您的示例中,如果Target影响到您所关心的单元格,则它包含在范围Target.Dependents中。你可以用这个来完成你的目标。

如何使用它

使用以下代码作为ThisWorkbook.的代码我已经评论过了,但如果你有问题,可以在评论中随意提问。

代码语言:javascript
运行
AI代码解释
复制
Option Explicit

Private RangeToMonitor As Range
Private RangeToChange As Range

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    '---If this is the first change since the workbook has been opened, define the ranges---
    If RangeToMonitor Is Nothing Then
        Set RangeToMonitor = Worksheets("Source").Range("B2:D469")
        Set RangeToChange = Worksheets("Dashboard").Range("A1")
    End If
    '---------------------------------------------------------------------------------------

    'First, check to see if Target is in the RangeToMonitor
    If Not Application.Intersect(Target, RangeToMonitor) Is Nothing Then
        'If so, set your date. Rather than using a formula in the cell - which could go haywire if someone messes with it - just set it straight from VBA
        RangeToChange.Value = Date - Weekday(Date) - 1
    'Second, check to see if a change to Target *triggers* any recalculation of cells in RangeToMonitor.
    'You can do this by looking at Dependents, which is all the cells affected by a change to Target, even several steps removed
    ElseIf hasDependents(Target) Then
        '(The above and below criteria cannot be done in one if condition because VBA boolean operators do not short circuit)
        If Not (Application.Intersect(Target.Dependents, RangeToMonitor) Is Nothing) Then
            RangeToChange.Value = Date - Weekday(Date) - 1
        End If
    End If
End Sub


'The reason for this function is that trying to use Target.Dependents when Target has no Dependents causes an error
'I use this function to verify that Target DOES have Dependents before attempting to find out if any of them affects RangeToMonitor
Private Function hasDependents(rng As Range)
On Error GoTo ErrHandler
    Dim test As Long
    test = rng.DirectDependents
    hasDependents = True
    Exit Function

ErrHandler:
    If Err.Number = 1004 Then
        '"No Cells Were Found"
        'This error signifies that Target has no Dependents, so we can safely ignore the change and exit the event.
        hasDependents = False
    Else
        Err.Raise Err.Number, , Err.Description
    End If
End Function
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41877029

复制
相关文章
解决Markdown文档结合html标签在hexo中失效
避开md文档中$$的表示方法,特殊样式全部改用标签。 1、通过 Typora 导出html格式后,将导出, 2、Notepad++ 打开找到编辑的内容元素标签复制到md文档中
来杯Sherry
2023/05/25
5050
解决Markdown文档结合html标签在hexo中失效
案例:数控机床主轴校准与颤振监测系统
提高生产数量与产品质量始终是制造业努力追求的目标,工业4.0更勾勒出智能制造的美好愿景,促使被制造业视为是重要生产设备的CNC工具机(数控机床)也得因应这样的趋势不断地精益求精。而数控机床制造商在积极改善自家机器性能并提升加工精度以符合客户需求的过程中,机器校准正确与否是影响加工精度的重要因素之一。但一直以来制造业都是靠累积多年经验的老师傅来进行机器校准,工厂每日必须先以这种传统作法来检查设备才能正式开工;如果该厂需要制造的产品种类较多,每一次产线调整时还得再次为机器重新设定与校准。如此不科学的作业模式既繁琐又费时,一旦作业程序有所疏失就会发生加工精度失准的问题。
SHOUT
2022/05/31
3K0
案例:数控机床主轴校准与颤振监测系统
阿里中台建设全解密:包含哪些内容?如何发挥作用?
导读:中台应该包含哪些内容呢?什么应该包括在中台里,什么不应该放在中台里?中台与企业现有的ERP、CRM是什么关系?如果建设了中台,中台应当如何发挥作用,而不是又让企业陷入建设另一套IT系统的老路?
IT阅读排行榜
2019/07/30
1.5K0
新基建浪潮下,区块链如何发挥作用?
在新基建风口加持下,数字化技术的发展应用迎来空前热度,政企各方积极布局5G、AI、互联网、工业互联网等数字化技术基础设施建设,投入规划不断加码。据中信建投测算,2020年新基建投资总规模有望达到9120亿元,其中数字基础设施投资部分将超2000亿元。而另一方面,数字化技术在城市智能化建设、产业数字化转型、商业数字化运营等方面实现融合应用,关键数字化技术已经在为各行各业的产业智慧升级提供领先的技术支持。
腾讯安全
2020/04/16
4520
新基建浪潮下,区块链如何发挥作用?
镗刀在加工中出现颤振的主要原因分析
镗刀是采用的数显读数屏的精密镗头,在使用精镗刀加工时,也会出现不同的问题。加工中心镗孔时由于切屑的流出方向在不断地改变,所以刀尖、工件的冷却以及切屑的排出都要比车床加工时难的多。特别是用卧式加工中心进行钢的盲孔粗镗加工时,尤为困难。镗孔加工时最常出现的、也是最令人头疼的问题是颤振。今天我们来分析下镗刀发生颤振的主要原因有哪些:
lrglu
2022/05/16
2.7K0
镗刀在加工中出现颤振的主要原因分析
如何获取相应tableview中的touchesBegan事件[通俗易懂]
项目中使用了UITableViewController,里面有用到UITextView需要点击键盘外的地方来隐藏我的键盘
全栈程序员站长
2022/09/15
1.6K0
“电老虎”数据中心,AI如何发挥作用?
在过去几年,一座座数据中心拔地而起,大规模的服务器串联而成的计算系统支撑了海量的数据处理和运算。数据中心机架数量由2016年的124万架上升至2019年的227万架,四年间上涨了83.1%。
科技云报道
2022/04/16
4220
“电老虎”数据中心,AI如何发挥作用?
html怎么使表格居中,html怎么使表格居中[通俗易懂]
margin 属性可以单独改变元素(元素可以是表格或者DIV)的上,下,左,右边距。也可以一次改变所有的属性。
全栈程序员站长
2022/11/04
12.2K0
html怎么使表格居中,html怎么使表格居中[通俗易懂]
数据/业务中台建设解密:包含哪些内容?如何发挥作用?
数据是从业务系统产生的,而业务系统也需要数据分析的结果,那么是否可以把业务系统的数据存储和计算能力抽离,由单独的数据处理平台提供存储和计算能力,不仅可以简化业务系统的复杂性,而且可以让各个系统采用更合适的技术,专注做本身擅长的事?这个专用的数据处理平台即数据中台。
数商云网络科技
2020/05/19
1.7K0
数据/业务中台建设解密:包含哪些内容?如何发挥作用?
数字化转型,企业如何发挥主体作用
1月12日,国务院发布《“十四五”数字经济发展规划》(简称《规划》)提出,大力推进产业数字化转型,加快企业数字化转型升级,全面深化重点产业数字化转型。立足不同产业特点和差异化需求,推动传统产业全方位、全链条数字化转型,提高全要素生产率。纵深推进工业数字化转型,加快培育一批“专精特新”中小企业和制造业单项冠军企业。深入实施智能制造工程,大力推动装备数字化,开展智能制造试点示范专项行动,完善国家智能制造标准体系。大力发展数字商务,全面加快商贸、物流、金融等服务业数字化转型。
CloudBest
2022/04/06
3720
发挥大数据的外贸“新引擎”作用
  我国正从世界贸易大国走向贸易强国。建设贸易强国,需要更多依靠现代科学技术重塑外贸竞争新优势,提升外贸发展的质量与效益。大数据在电子商务中的应用日益广泛,给我国外贸发展提供了难得机遇。充分利用大数据等现代信息技术,是我国培育外贸竞争新优势的重要举措。企业和政府部门应加强合作,发挥大数据对外贸发展的“新引擎”作用。 大数据为外贸发展带来新机遇   重构外贸流程,激发增长潜力。2014年上半年,一达通、敦煌网、亿赞普等第三方外贸服务企业的在线交易平台打破了外贸整体低迷的态势,实现了交易量40%的超
腾讯研究院
2018/03/13
1.1K0
位置编码(PE)是如何在Transformers中发挥作用的
在人类的语言中,单词的顺序和它们在句子中的位置是非常重要的。如果单词被重新排序后整个句子的意思就会改变,甚至可能变得毫无意义。
deephub
2022/11/11
2.2K0
位置编码(PE)是如何在Transformers中发挥作用的
抗疫之战,AI能发挥多大的作用?
“复工”在各地陆续开始,要说谁最紧张,产业聚集、流动人口集中地区的主管职能部门无疑在列。
科技云报道
2022/04/15
5670
抗疫之战,AI能发挥多大的作用?
TRIZ如何在数字化转型中发挥作用?
A制造公司在数字转型过程中遇到了一个问题,即产品生产在线的机器经常出现故障,导致生产效率低下。为了解决这个问题,该公司运用了TRIZ方法,并且采取以下措施:
用户9972271
2023/03/08
2170
云计算如何在银行业务发挥作用?
云计算为现代银行业务的发展带来了巨大的变革,而实际上,得益于云计算这种创新的计算资源使用方式以及基于互联网标准的连接方式,商业银行可以利用云计算,将依赖计算资源运作业务,以一种更便捷、灵活的方式聚合,并按需分享,实现更高效、紧密的多方协同。而基于云计算技术的云业务模式,可以通过资源聚合、共享和重新分配,实现资源的按需索取,其中资源包括业务处理能力、信息甚至实物资源等。
云计算爱好者
2018/01/16
2.8K0
云计算如何在银行业务发挥作用?
Mybatis中的<![CDATA[]]>标签在判断日期场景中的使用
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义。
翎野君
2023/05/12
7541
大数据在企业中发挥的作用,以及如何驱动企业创新!
在大数据时代,企业将是完全以数据分析驱动企业,利用大数据分析,能够转化成洞察的能力,充分释放企业潜能,实现转型与进化,本文重在分析大数据在企业当中的所起到的作用。
探码科技
2018/12/19
2.2K0
HTML中meta标签的作用与使用
<meta http-equiv=”Content-Type”content=”text/html; charset=gb2312″>
全栈程序员站长
2022/09/05
1.8K0
html中bgsound背景音乐标签在浏览器里无法播放[通俗易懂]
问题:经过尝试,发现仅仅只有IE浏览器可以支持自动播放,但是需要先进行添加控件(自动弹出)。其他浏览器不支持自动播放。
全栈程序员站长
2022/09/15
1.5K0
html中bgsound背景音乐标签在浏览器里无法播放[通俗易懂]
VLAN作用概述_发挥三个作用是指哪三个作用
随着网络硬件性能的不断提高、成本的不断降低,目前新建立的校园网基本上都采用了性能先进的千兆网技术,其核心交换机采用三层交换机,它能很好地支持虚拟局域网(VLAN)技术,这对方便校园网的管理、保证校园网的高速可靠运行起到了非常重要的作用。 什么是VLAN VLAN(VirtualLocalAreaNetwork)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可跨越不同网段、不同网络的端到端的逻辑网络。一个VLAN组成一个逻辑子网,即一个逻辑广播域,它可以覆盖多个网络设备,允许处于不同地理位置的网络用户加入到一个逻辑子网中。 组建VLAN的条件 VLAN是建立在物理网络基础上的一种逻辑子网,因此建立VLAN需要相应的支持VLAN技术的网络设备。当网络中的不同VLAN间进行相互通信时,需要路由的支持,这时就需要增加路由设备–要实现路由功能,既可采用路由器,也可采用三层交换机来完成。 划分VLAN的基本策略 从技术角度讲,VLAN的划分可依据不同原则,一般有以下三种划分方法: 1、基于端口的VLAN划分 这种划分是把一个或多个交换机上的几个端口划分一个逻辑组,这是最简单、最有效的划分方法。该方法只需网络管理员对网络设备的交换端口进行重新分配即可,不用考虑该端口所连接的设备。 2、基于MAC地址的VLAN划分 MAC地址其实就是指网卡的标识符,每一块网卡的MAC地址都是惟一且固化在网卡上的。MAC地址由12位16进制数表示,前8位为厂商标识,后4位为网卡标识。网络管理员可按MAC地址把一些站点划分为一个逻辑子网。 3、基于路由的VLAN划分 路由协议工作在网络层,相应的工作设备有路由器和路由交换机(即三层交换机)。该方式允许一个VLAN跨越多个交换机,或一个端口位于多个VLAN中。 就目前来说,对于VLAN的划分主要采取上述第1、3种方式,第2种方式为辅助性的方案。 使用VLAN优点 使用VLAN具有以下优点: 1、控制广播风暴 一个VLAN就是一个逻辑广播域,通过对VLAN的创建,隔离了广播,缩小了广播范围,可以控制广播风暴的产生。 2、提高网络整体安全性 通过路由访问列表和MAC地址分配等VLAN划分原则,可以控制用户访问权限和逻辑网段大小,将不同用户群划分在不同VLAN,从而提高交换式网络的整体性能和安全性。 3、网络管理简单、直观 对于交换式以太网,如果对某些用户重新进行网段分配,需要网络管理员对网络系统的物理结构重新进行调整,甚至需要追加网络设备,增大网络管理的工作量。而对于采用VLAN技术的网络来说,一个VLAN可以根据部门职能、对象组或者应用将不同地理位置的网络用户划分为一个逻辑网段。在不改动网络物理连接的情况下可以任意地将工作站在工作组或子网之间移动。利用虚拟网络技术,大大减轻了网络管理和维护工作的负担,降低了网络维护费用。在一个交换网络中,VLAN提供了网段和机构的弹性组合机制。 三层交换技术 传统的路由器在网络中有路由转发、防火墙、隔离广播等作用,而在一个划分了VLAN以后的网络中,逻辑上划分的不同网段之间通信仍然要通过路由器转发。由于在局域网上,不同VLAN之间的通信数据量是很大的,这样,如果路由器要对每一个数据包都路由一次,随着网络上数据量的不断增大,路由器将不堪重负,路由器将成为整个网络运行的瓶颈。 在这种情况下,出现了第三层交换技术,它是将路由技术与交换技术合二为一的技术。三层交换机在对第一个数据流进行路由后,会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率,消除了路由器可能产生的网络瓶颈问题。可见,三层交换机集路由与交换于一身,在交换机内部实现了路由,提高了网络的整体性能。 在以三层交换机为核心的千兆网络中,为保证不同职能部门管理的方便性和安全性以及整个网络运行的稳定性,可采用VLAN技术进行虚拟网络划分。VLAN子网隔离了广播风暴,对一些重要部门实施了安全保护;且当某一部门物理位置发生变化时,只需对交换机进行设置,就可以实现网络的重组,非常方便、快捷,同时节约了成本。
全栈程序员站长
2022/09/20
4830

相似问题

颤振:使Podfiles发挥作用

23

如何使BuildContext在GetX颤振中发挥作用?

14

我如何使这个堆栈小部件在颤振中发挥作用?

38

颤振:如何使下面的图像小部件在Stack中发挥作用

11

我如何在颤振中发挥“磨砂玻璃”的作用?

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档