【发布时间】:2019-09-13 16:07:43
【问题描述】:
我有一个 VBA 代码可以使用 v-lookup 进行比较。我正在通过 A2/B2 或类似的东西声明范围 我想通过列标题声明范围,因为这些标题是静态的,但是对于每张纸,这些列都会重新排列
Dim PLACE_OF_SERVICE As String
Dim SERVICE_CODE As String
Dim DIAGNOSIS_CODE As String
Dim REVENUE_CODE As String
Dim NDC_CODE As String
Application.Worksheets("Data").Range("O1") = "Observation"
Application.Worksheets("Data").Range("O2").Formula = "=IF(OR(ISNA(VLOOKUP(Range(SERVICE_CODE)),Valuesets!$A$2:$A$5,1,FALSE))=FALSE),""Yes"",""No"")"
Application.Worksheets("Data").Range("O2").AutoFill Destination:=Application.Worksheets("Data").Range("O2:O" & last)
实际公式是 IF(OR(ISNA(VLOOKUP(F2,Sheet2!$A$2:$A$5,1,FALSE))=FALSE),"是","否") 但我想通过替换 F2 来用列标题写它
【问题讨论】:
-
您可以使用
Find或Application.Match获取标头所在的范围。 -
我是编码新手,我只是试了一下....你能帮帮我吗
-
如果您将数据格式化为表格 (Ctrl+T),那么您可以在公式中使用标题,这是另一种选择。
标签: excel vba excel-formula