【发布时间】:2020-06-21 11:54:53
【问题描述】:
我的项目再次失败
我有带有变量 Brand 的公式可以动态更改(AF 列)。基本上我想要的只是将品牌提取到公式列旁边(AE)的列中,以方便视觉
For i = LBound(Brand) To UBound(Brand)
Range("AF" & i + 2).Formula = "=COUNTIFS(C:C," & RTrim(Month(Mesyaz3)) & _
",H:H,""Headphones"",F:F," & Chr(34) & Brand(i) & Chr(34) & ")"
Next i
Range("AF:AF").Sort Key1:=Range("AF2"), Order1:=xlDescending, Header:=xlYes
ActiveSheet.Range("AG2:AG8").Formula = ActiveSheet.Range("AF2:AF8").Formula
ActiveSheet.Range("AH2:AH8").Formula = ActiveSheet.Range("AF2:AF8").Formula
Dim ws As Worksheet
Set ws = Worksheets(1)
Dim j As Variant
j = Application.Match(""" & Brand(i) & """, ws.Range("AF2:AF8"))
ActiveSheet.Range("AE2").Value = Application.Index(ws.Range("AF2:AF8"), j, 0)
我得到 #N/A 已经为此丢失了两天。将非常感谢任何可以提供帮助的人。
【问题讨论】:
-
您是否尝试过单步执行代码以查看错误发生的位置?
-
另外,当您使用
Application.Match结果加载j时,您使用的是不在循环内的i,因此将设置为last上一个For..Next..循环中的值。 -
包含您尝试从中提取的公式的示例将有很大帮助。
-
@TimWilliams 公式在代码中 "=COUNTIFS(C:C," & RTrim(Month(Mesyaz3)) & _ ",H:H,""Headphones"",F:F ," & Chr(34) & Brand(i) & Chr(34) & ")"
-
@CLR 目前的代码没有错误,只是没有返回正确的值 - 在 "=COUNTIFS(C:C," & RTrim(Month(Mesyaz3) 中使用的品牌) & _ ",H:H,""耳机"",F:F," & Chr(34) & Brand(i) & Chr(34) & ")" 公式
标签: excel vba indexing find match