Vba 更改每张图纸中的值并保留每张图纸中的值
那么,信息呢Vba 更改每张图纸中的值并保留每张图纸中的值,vba,excel,Vba,Excel,那么,信息呢 Sheet1 "A1" Sheet2 "A1" Sheet3 "A1" 现在我希望所有这些表共享相同的值,而不管哪个值。 但是我必须能够在每张纸上改变这个值。 例如:值为20 Sheet1 A1's value = 20 Sheet2 A1's value = 20 Sheet3 A1's value = 20 现在我打开了第2页,我把20改为30 Sheet1 A1's value = now 30 Sheet2 A1's value = now 30 Sheet3
Sheet1 "A1"
Sheet2 "A1"
Sheet3 "A1"
现在我希望所有这些表共享相同的值,而不管哪个值。
但是我必须能够在每张纸上改变这个值。
例如:值为20
Sheet1 A1's value = 20
Sheet2 A1's value = 20
Sheet3 A1's value = 20
现在我打开了第2页,我把20改为30
Sheet1 A1's value = now 30
Sheet2 A1's value = now 30
Sheet3 A1's value = now 30
然后我注意到第3页中的其他内容,我将这个值改为50
Sheet1 A1's value = now 50
Sheet2 A1's value = now 50
Sheet3 A1's value = now 50
作为最后一件事,我回到第1页,我发现我算错了,不是50,而是40。所以我把值改为40
Sheet1 A1's value = now 40
Sheet2 A1's value = now 40
Sheet3 A1's value = now 40
我该怎么做?我试着在每张纸上都写上:
Private sub Worksheet_Change (Byval target as range)
但当我得到3张或更多的工作表时,“此函数未定义”
我已经在网上搜索了4个小时了。我尝试了不同的方法,但就是做不好。根据需要为每张工作表更改
工作表
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells(1, 1) Then
sheet2.Cells(1, 1) = Cells(1, 1)
sheet3.Cells(1, 1) = Cells(1, 1)
sheet4.Cells(1, 1) = Cells(1, 1)
End If
End Sub
非常简单,只需在每个跟踪工作表的工作表\u Change
事件中强制更改值即可:
Private Sub Worksheet_Change(ByVal Target As Range) '<-- in Sheet 1
Sheets("Sheet2").Cells(Target.Row, Target.Column).Value = Target.Value
Sheets("Sheet3").Cells(Target.Row, Target.Column).Value = Target.Value
End Sub
您到底想要什么?请在工作表\u Change
Private Sub Worksheet_Change(ByVal Target As Range) '<-- in Sheet 2
Sheets("Sheet1").Cells(Target.Row, Target.Column).Value = Target.Value
Sheets("Sheet3").Cells(Target.Row, Target.Column).Value = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range) '<-- in Sheet 3
Sheets("Sheet1").Cells(Target.Row, Target.Column).Value = Target.Value
Sheets("Sheet2").Cells(Target.Row, Target.Column).Value = Target.Value
End Sub
If Target.Address = "$A$1" Then
'change values
End If