我发现VBA代码看起来不错,而且运行正常,但只有一张。
我有2张。第一个包含验证源,第二个包含数据验证列表。
当我更改源中的现有值时,在第二张表中自动更新。
我的问题是我有更多的工作表包含具有相同验证源的数据验证列表,但我的VBA代码只能工作一个工作表。我不知道怎么用多张床做饭。
这是当前的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim count_cells As Integer
Dim new_value As String
Dim old_value As String
Dim rng As Range
For count_cells = 1 To Range("A1").CurrentRegion.Rows.Count - 1
Set rng = Worksheets("Test1").Range("A:A")
If Intersect(Target, Range("A" & count_cells + 1)) Is Nothing Then
Else
Application.EnableEvents = False
new_value = Target.Value
Application.Undo
old_value = Target.Value
Target.Value = new_value
rng.Replace What:=old_value, Replacement:=new_value, LookAt:=xlWhole
Target.Select
End If
Next count_cells
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub