在 excel 中查找 header 的宏
Macro to find header in excel
我有 2 个 excel 个文件。说文件A和文件B。文件A有以下数据
文件 B 有以下数据。
现在我想要在文件 A 中找到文件 B 中的数据,它应该 return 文件 A 中的 header 到文件 B 的结果字段中。例如。文件 B 有 Apple 那么宏应该搜索整个文件 A 并在结果字段中给我们 header name as FRUIT。此外,如果它没有找到数据,那么它应该 return 没有找到。请指教
这是针对您的示例,我已将 2 个文件数据分组为单个 sheet。请看下面的截图。
我创建了一个小型 UDF 来获得您需要的输出。将以下 UDF 粘贴到模块中,您可以直接从单元格本身调用它。
Public Function searchstring(a As Range, b As Range)
Dim Header As String
For i = 1 To a.Columns.Count
If Not a.Columns(i).Find(b) Is Nothing Then
Header = a.Cells(1, i)
End If
Next i
searchstring = Header
End Function
输出
编辑:
在 Endif 之前使用 Exit For 以获得第一个匹配项 header。
我有 2 个 excel 个文件。说文件A和文件B。文件A有以下数据
文件 B 有以下数据。
现在我想要在文件 A 中找到文件 B 中的数据,它应该 return 文件 A 中的 header 到文件 B 的结果字段中。例如。文件 B 有 Apple 那么宏应该搜索整个文件 A 并在结果字段中给我们 header name as FRUIT。此外,如果它没有找到数据,那么它应该 return 没有找到。请指教
这是针对您的示例,我已将 2 个文件数据分组为单个 sheet。请看下面的截图。
我创建了一个小型 UDF 来获得您需要的输出。将以下 UDF 粘贴到模块中,您可以直接从单元格本身调用它。
Public Function searchstring(a As Range, b As Range)
Dim Header As String
For i = 1 To a.Columns.Count
If Not a.Columns(i).Find(b) Is Nothing Then
Header = a.Cells(1, i)
End If
Next i
searchstring = Header
End Function
输出
编辑:
在 Endif 之前使用 Exit For 以获得第一个匹配项 header。