在vba方面并没有什么真正的优势,但是我研究了一些代码,这些代码无法正常工作。我要做的就是将单元格B1中的值与单元格L3至AE3中的一行值进行比较。如果找到匹配项,我希望将L4到AE4行的匹配项下面的数字复制并粘贴为匹配项正上方的第一行中的值。它需要通过change事件自动执行此操作。第一行中记录的值将保留为值,并且当B1中的值更改时,新的匹配项将复制到行1,依此类推。第一行中的所有记录值都将保留。当另一张纸上的公式更改值并链接到B1时,B1也会更改,因此其公式的结果链接在一起。这是我尝试编写的代码。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Intersect(Target, Range("L3:AE3")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For i = 12 To 31 'Columns L3 to AE3
If Cells(1, "B") = Cells(3, i) Then
Cells(1, i) = Cells(4,
Else
End If
Next i
Application.EnableEvents = True
End Sub
答案 0 :(得分:0)
下面是一些应该帮助您入门的代码。每次计算完成后都会触发。
Private Sub Worksheet_Calculate()
Dim i As Long
Application.EnableEvents = False
For i = 12 To 31
If Cells(3, i).Value = Cells(1, 1).Value Then Cells(1, i).Value = Cells(4, i).Value
Next i
Application.EnableEvents = True
End Sub