我正在制作项目,其中有更改的表需要复制到另一张表,它需要同步数据传输槽表,如果我们填写一个表单数据需要转移到所有表。
trade.buyVolume(newValue);
答案 0 :(得分:0)
想象一下,您只有2个工作表。将以下代码放在第一个工作表上,这里:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
If Target.Count > 1 Then
MsgBox ("More than 1!")
Exit Sub
End If
Set KeyCells = Range("C4:E8")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Worksheets(1).Range("C4:E8").Copy Destination:=Worksheets(2).Range("C4:E8")
End If
End Sub
更改C4:E8
中的数据后,它将被复制到第二个工作表。
如果你把它放在第二个工作表上,这将产生一个很好的递归错误。如果你愿意,试试吧! :)
编辑: 这个问题有很多方法可以做到。这是循环遍历单元格的一种方式:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim rngCell As Range
Set KeyCells = Worksheets(1).Range("C4:E8")
If Not Application.Intersect(KeyCells, Target) Is Nothing Then
For Each rngCell In KeyCells
Worksheets(2).Cells(rngCell.Row, rngCell.Column) = rngCell
Next rngCell
End If
End Sub
但是,如果您在worksheets(1)
或worksheets(2)
答案 1 :(得分:0)
使用后
选项明确
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim rngCell As Range
Set KeyCells = Worksheets(1).Range("C4:E8")
If Not Application.Intersect(KeyCells, Target) Is Nothing Then
For Each rngCell In KeyCells
Worksheets(2).Cells(rngCell.Row, rngCell.Column) = rngCell
Next rngCell
End If