Private Sub Worksheet_Change(ByVal Target As range)
Static r As range
If r Is Nothing Then
Set r = Worksheets("Sheet1").range("A2:D63")
Else
Set r = Union(r, Worksheets("Sheet1").range(Cells(r.Row + r.Rows.Count, r.Column), _
Cells(r.Row + r.Rows.Count + 2, r.Column + r.Columns.Count - 1)))
End If
r.select
If Not Application.Intersect(Target, r) Is Nothing Then
For Each Cell In Application.Intersect(Target, r)
Worksheets("Sheet2").Cells(Cell.Row, Cell.Column).Value = Cell.Value
Next Cell
End If
2 回答
尝试
Worksheets("Sheet1").Range("D63").value = .Range("A2").End(xlDown).Offset(0, 41).value
我不是很擅长VBA所以请原谅任何错误
资料来源:http://www.mrexcel.com/forum/excel-questions/49124-visual-basic-applications-copy-paste-cell-value-only-not-formula.html
我第一次有点偏离,在这里提供一些更新的代码,希望看起来更像是预期的 . 回读整个线程不仅会发现数据,而且这里的范围本身也可能是动态的 . 如果是这样,范围实际重塑的方式是什么?
每次源数据更改时,以下代码都会向源范围添加3行 - 应写入“sheet1”工作表模块
结束子