Excel VBA在公式结果更改时自动排序
我试图创建一个函数,计算一些分数的平均值,然后将分数转移到相邻的“表”中 在这张表中,我将C列中计算的相邻额定值转移到H列,只需给出H列公式中的单元格,例如选择H2并给出与类别对应的=C12等公式 然后,我使用这段代码按升序对平均评分表进行排序Excel VBA在公式结果更改时自动排序,excel,vba,Excel,Vba,我试图创建一个函数,计算一些分数的平均值,然后将分数转移到相邻的“表”中 在这张表中,我将C列中计算的相邻额定值转移到H列,只需给出H列公式中的单元格,例如选择H2并给出与类别对应的=C12等公式 然后,我使用这段代码按升序对平均评分表进行排序 Private Sub Worksheet_Change(ByVal Target As Range) Range("F2:H4").Sort Key1:=Range("H2"), _ Order1:=xlAsce
Private Sub Worksheet_Change(ByVal Target As Range)
Range("F2:H4").Sort Key1:=Range("H2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End Sub
然而,当我这样做,并且对H列下的评分进行排序时,我发现每个平均评分的公式与我最初输入的不匹配
例如,我在H列下输入了平均评分公式,以便于通过机场的as=C12找到道路。
然而,当评级得到排序时,我发现为便于通过机场找到道路,平均评级公式会自动更改为=C13或=C14或=C12。这反过来也会更改该值
每当我编辑原始评分以获得新的平均分数时,C列中的平均评分不知何故也与H列中的分数不一致
您可以使用
索引作为公式。也许您所需要做的就是通过在行索引前面添加$
来锁定行。因此,不要使用=C12
而是使用=C$12
。