excel - 如果单元格为空,则用公式填充单元格
问题描述
我得到了一个具有公式的单元格:=SE(G15<>"";0;"")
,这意味着取决于参考单元格不是空白的,它必须在该单元格中返回一个 0 。
问题是,有时我将不得不手动将此单元格更改为另一个数值,删除我输入的旧公式,然后在将来这个单元格将永远不会再次返回 0,以防我再次输入相同的公式.
我想制作一个可以帮助我的 vba 代码。每次我使用手动输入的值删除单元格时,它都会带回带有 0 的公式,并且 this 在 range 中F16:Q16
。
我试图写的是这样的:
Sub Worksheet_Change(ByVal Target As Range)
并target.range
为每个单元格定义,但我不知道如何进步了。
请问,有人可以帮忙吗?
解决方案
使用工作表更改事件:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, c As Range
Set rng = Application.Intersect(Target, Me.Range("F16:Q16")) 'range to be checked
If Not rng Is Nothing Then
On Error GoTo haveError
Application.EnableEvents = False 'stop updates from re-triggering this handler
For Each c In rng.Cells
If Not c.HasFormula And Len(c.Value) = 0 Then
c.Formula = "=IF(G15<>"""",0,"""")" 'use US-style from VBA
' or use FormulaLocal
End If
Next c
End If
haveError:
Application.EnableEvents = True 'make sure events are re-enabled
End Sub
推荐阅读
- wpf - 如何修复 AvaloniaUI XAML 窗口定义中的“无法从命名空间解析类型”错误?
- yarnpkg - 带有创建反应应用程序的纱线 2 和 dart sass
- java - 到达最后一个索引时重置数组索引
- python-3.x - 在不使用fillna的情况下用随机字符串替换pandas DataFrame中的NaN
- java - 是否有一种设计模式支持注入几个抽象类实现并有条件地使用注入的 bean 之一
- apache-kafka-streams - 卡夫卡工作分配和完成
- html - 如何在浏览器中修复错误的 https
- c# - SSO Request.IsAuthenticated 在第一次登录后始终为 false,但第一次 SSO 登录工作正常
- python - 重用参数或使用自我
- macros - 如何从 Kentico CMS 中的预览模式解析宏