请使用以下核心代码实现对excel表中单元格公式含有特定字符的查询:
cells=ws.api.UsedRange.Find(search_string, LookIn=-4123, LookAt=1, SearchOrder=1,SearchDirection=1)
print(cells.address)
备注:
ws为worksheet
search_string为要寻找的字符
根据官网:
#class FindLookIn:
# xlComments = -4144 # from enum XlFindLookIn
# xlFormulas = -4123 # from enum XlFindLookIn
# xlValues = -4163 # from enum XlFindLookIn
我发现LookIn设置为-4123并没有效果,与设置为-4163并没有什么变化,请教这是为什么?如果有区别请显示实际操作结果,谢谢!
将 LookIn 设置为 -4163 是将其设置为查找单元格值(而不是公式),而将其设置为 -4123 则是正确的,即查找单元格公式。
可能原因是在你的Excel文件中,待查询的单元格公式中没有与特定字符匹配的内容,导致无法找到匹配项。
来自GPT的回答:
根据Microsoft官方文档,LookIn参数指定要搜索的单元格内容的类型。在Excel中,这些类型分为三类:值(xlValues)、公式(xlFormulas)和注释(xlComments)。在VBA中,这些类型被定义为枚举类型XlFindLookIn的常量。
根据您提供的代码,将LookIn参数设置为-4123与设置为-4163相当,因为这两个值都对应于枚举类型XlFindLookIn中的常量xlFormulas。
因此,您可以根据需要将LookIn参数设置为-4123或-4163,以指定您要搜索的单元格内容的类型。如果您的公式中包含搜索字符串,它们应该可以被找到,不管您选择哪个值作为LookIn参数。
来自GPT的回答:
根据Microsoft官方文档,LookIn参数指定要搜索的单元格内容的类型。在Excel中,这些类型分为三类:值(xlValues)、公式(xlFormulas)和注释(xlComments)。在VBA中,这些类型被定义为枚举类型XlFindLookIn的常量。
根据您提供的代码,将LookIn参数设置为-4123与设置为-4163相当,因为这两个值都对应于枚举类型XlFindLookIn中的常量xlFormulas。
因此,您可以根据需要将LookIn参数设置为-4123或-4163,以指定您要搜索的单元格内容的类型。如果您的公式中包含搜索字符串,它们应该可以被找到,不管您选择哪个值作为LookIn参数。