Vba 在工作簿中列出所有VLookup
我有一个很大的Excel文件,里面有很多不同的表格,每个表格都包含很多Vlookup 我想把这个文件和一些链接到它的文件移到一个新文件夹 我更改了宏中的路径,但是有没有办法在所有具有外部链接的工作表中找到所有VLookup?我的意思是,指向其中一个文件的链接我也会移动(因此我应该更改它们的路径)Vba 在工作簿中列出所有VLookup,vba,excel,vlookup,Vba,Excel,Vlookup,我有一个很大的Excel文件,里面有很多不同的表格,每个表格都包含很多Vlookup 我想把这个文件和一些链接到它的文件移到一个新文件夹 我更改了宏中的路径,但是有没有办法在所有具有外部链接的工作表中找到所有VLookup?我的意思是,指向其中一个文件的链接我也会移动(因此我应该更改它们的路径) 如果有一种方法可以列出文件中存在的所有VLookup及其所在单元格+正在查看的单元格,那就太好了。以下函数将使用公式收集单元格并返回范围对象 function FindFormulaInSheet(ws
如果有一种方法可以列出文件中存在的所有VLookup及其所在单元格+正在查看的单元格,那就太好了。以下函数将使用公式收集单元格并返回范围对象
function FindFormulaInSheet(ws As Worksheet, functionName As String) as Range
Dim formulas As Range
Dim c As Range
For Each c In ws.UsedRange.SpecialCells(xlCellTypeFormulas)
If InStr(c.Formula, "VLOOKUP") > 0 Then
If formulas Is Nothing Then
Set formulas = c
Else
Set formulas = Union(formulas, c)
End If
End If
Next c
set FindFormulaInSheet = formulas
End function
因此,在您的情况下,将其称为示例(将所有VLOOKUP标记为黄色):
当然,你可以用你想要的范围做任何事情,而不是将其标记为黄色。查看此链接:谢谢……它实际上让我意识到,我可以简单地使用“查找和替换”并对其进行排序是的,我实际上可以做
r.Formula=“MYNEWPATH”
…谢谢托马斯
dim r as Range
set r = FindFormulaInSheet (activeSheet, "VLOOKUP")
r.interior.Color = vbYellow