问题描述
从这个示例开始
因为单元格 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”循环,找到要更新的行。