如何解决Excel 问题:我怎样才能有一个列,我可以在其中更改另一张工作表上反映已更改数据的数据
从这个示例开始
因为单元格 A1 是一个列表框/下拉列表,其中包含来自 CELL F2:F6 数据的值
[
2作为单元格 A2:A6 也是一个带有值的列表框/下拉列表。示例将是通过和失败。
当我根据列表框/下拉列表中的选定值更改 CELLS A2:A6 上的值时,G2:K2 反映了所有更新的更改。
如果单元格 A1 的值被更改以更新其他行,则其他行也是如此。
解决方法
您可以使用 VBA 将您的输入粘贴到另一个单元格中。
首先,按如下方式定义范围的名称
- 目标行:CELL A1
- 目标数据:CELL A2:A6
- 行:CELL F2:F6
Option Explicit
Private Sub Worksheet_Change(ByVal rng As Range)
If Not Intersect(rng,Range("TargetData")) Is Nothing Then
Dim rowStr As String: rowStr = Range("TargetRow").Value2
Dim l As Long: l = Range("Rows").Count
Dim i As Long
For i = 1 To l
If Range("Rows").Cells(i,1).Value2 = rowStr Then
Dim n As Long: n = Range("TargetData").Count
Dim j As Long
For j = 1 To n
Range("Rows").Cells(1,1).Offset(i - 1,j).Value2 = Range("TargetData").Cells(1,1).Offset(j - 1,0).Value2
Next
End If
Next
End If
End Sub
Worksheet_Change() 如果您对工作表进行了一些更改,则会触发。然后检查更改是否在 TargetData 范围内完成。使用“for”循环,找到要更新的行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。