excel - VBA EXCEL无限循环 - 修改单元格时更改单元格的值
问题描述
我在 excel VBA 中遇到问题,我想执行以下操作:
如果用户输入某个字符串,我希望将该字符串修改为大写,然后根据单元格所在的列添加小写“j”或“n”(jour 或 nuit - 法语中的白天或夜晚)
问题是当我修改单元格的值时,因为它随后被宏修改,宏被再次调用,并且一遍又一遍地发生......
这是我的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
'On Error GoTo done
Set KeyCells = Range("T41:KC66")
If Not Application.Intersect(KeyCells, Target) Is Nothing Then
Dim ens As Range
Dim cel As Range
Set ens = Target.Cells
Dim valeur As String
'MsgBox "boo"
valeur = UCase(ens(1, 1))
For Each cel In ens
Select Case valeur
Case "R", "RJ", "RN"
If ActiveSheet.Cells(40, cel.Column) = "J" Then
cel.Value = "Rj"
Else
cel.Value = "Rn"
End If
Case ...
...
...
End Select
Next cel
End If
End Sub
我也有其他案例,但只需要一个即可显示问题。
你们有什么解决方法吗??谢谢!:)
解决方案
推荐阅读
- windows-subsystem-for-linux - 无法在 ubuntu WSL 中运行 podman/docker hello-world,找不到 OCI
- anaconda - 无法在 Ubuntu 20.04 中打开 Anaconda 导航器(在加载应用程序时停止。但从不打开。)
- c - 为什么没有按照以下代码将结果存储到缓冲区中?
- angular - Flickity 在我使用 *NgFor 的那一刻停止工作
- visual-studio-code - 如何从状态栏中取消隐藏扩展?与代码
- javascript - Node JS通过管道重定向,chrome下载而不是播放
- reactjs - OpenID Connect + Django DRF + React:如何使用?
- ios - 如何在 SwiftUI 中将我的环境对象设置为用户输入?
- mongodb - Kubernetes 上的 Mongodb 超出内存限制 - 可用内存小于系统内存
- sql-server - 如何将 MS SQL Server 数据库连接到 Oracle 云数据库