excel - 将 VBA 更改为自动运行或在移动选项卡时运行
问题描述
我有下面的 VBA,它只在单元格更新时运行。有一个公式可以更新单元格,但 VBA 并没有将此作为更改。我如何让 VBA 自动运行,这样我就不必在每个单元格内进行制表符来使 VBA 运行。最好是全自动的,但如果它很容易可以改变标签等。
任何帮助,将不胜感激。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 9 Or Target.Column = 13 Then 'Column I or column M
If UCase(Target) = "YES" Then Target.Offset(0, -1).ClearContents
End If
End Sub
解决方案
@DMO
在这里,刚刚经过测试,效果很好。而且它有点快
Public Sub UpdatedEIghtAndTwelve()
Dim arr As Variant
arr = ThisWorkbook.ActiveSheet.UsedRange.Formula
Dim i As Long, j As Long, z As Long
j = UBound(arr, 1)
z = UBound(arr, 2)
For i = LBound(arr, 1) To UBound(arr, 1)
If arr(i, 9) = "YES" Then
arr(i, 8) = vbNullString
End If
If arr(i, 13) = "YES" Then
arr(i, 12) = vbNullString
End If
Next i
With ThisWorkbook.ActiveSheet
.Range(.Cells(1, 1), .Cells(j, z)).Value2 = arr
End With
End Sub
我忘了补充一点,你需要把它放在你想要运行的工作表后面的工作表代码中
Private Sub Worksheet_Activate()
Call UpdatedEIghtAndTwelve
End Sub
推荐阅读
- sql-server - 如何在 SQL Server 中禁用多线程?
- ruby-on-rails - Why is Ruby not updating after updating with Ruby Installer?
- python-3.x - 按列连接两个数据框
- excel - Excel:通过从另一个选项卡中引入相应的单元格来填充新列
- algorithm - 为 sha256 创建 2 路地图。
- java - while 循环会在一段时间后停止执行吗?
- python - Visual Studio Code 不建议 Python 对象属性
- html - CSS 内置内容不起作用
- javascript - NavigationEnd 的 url 属性返回未定义(Angular 6)
- c# - ASP.NET w/ Identity:Entity Framework 在 SaveChanges 上抛出 System.Data.Entity.Core.UpdateException