vba - 在同一单元格中输入值和背景公式
问题描述
我正在构建一个 Excel 工作表,我希望在与随机数输入相同的单元格中有一个背景公式。
这是今天的价值观。
A1: 100<Br>
A2: 200<BR>
A3: 300
C1: 1,1
我想要A1
,A2
并在输入值后按 EnterA3
键乘以。C1
比我想改变C1
未来的价值和所有的价值column A
都将相应更新。
如果我输入 100,我希望它在上面的示例中将其更新为 110,但如果我稍后更改C1
为1,2
,它将自动变为 120。
这当然在另一列中非常容易做到,例如B:
“=A1*$C$1
”中的另一列中非常容易做到。但我真的很想在这个文档中只使用一个单元格。
这不可能没有VBA
?如果是,我该怎么做VBA
?提前致谢。
解决方案
在OP的澄清后编辑
Private Sub Worksheet_Change(ByVal Target As Range)
Dim values As Variant
Dim rngToChange As Range
Dim targetRow As Long
Select Case True
Case Not Intersect(Target, Range("A1:A3")) Is Nothing
Set rngToChange = Intersect(Target, Range("A1:A3"))
If Target.Count = 1 Then targetRow = Target.Row
Case Target.Address = "$C$1"
Set rngToChange = Range("A1:A3")
Case Else
Exit Sub
End Select
With Range("C1")
If .Comment Is Nothing Then .AddComment(Join(Application.Transpose(Range("A1:A3").Value), " ")).Visible = False
values = Split(.Comment.Text, " ")
If targetRow <> 0 Then
values(targetRow - 1) = Target.Value
.ClearComments
.AddComment(Join(values, " ")).Visible = False
End If
End With
Dim cell As Range
On Error GoTo goodexit
Application.EnableEvents = False
For Each cell In rngToChange
cell.Value = values(cell.Row - 1) * Range("c1").Value
Next
goodexit:
Application.EnableEvents = True
End Sub
推荐阅读
- python - 在 python 中抓取网站,但该类具有不同的类名。(也是不和谐的.py)
- python - 通过 LAN 拒绝 net/http 连接
- javascript - d3 geo 在单击/缩放时更改 topojson 文件
- azure-iot-hub - 如何使用 azure CLI 调用没有方法有效负载(JSON:null)的设备方法?
- python - Tkinter 迭代按钮小部件错误
- c# - ASP.NET Core MVC:从输入上传图片 null
- ffmpeg - 使用 ffmpeg 批量转换文件并找到 -exec 和并行
- python - matplotlib,ipywidgets - 如何更改箭袋对象的位置?
- actions-on-google - 备份使用“操作控制台”网页版创建的助手项目的最简单方法是什么?
- javascript - 在 details 元素中,如何防止点击内容时的 onclick 事件?