【发布时间】:2015-06-07 23:25:00
【问题描述】:
我有一个工作表引用同一工作簿“ProductsList”中的另一个工作表。 VBA 应将工作表保存为独立的电子表格,如果任何公式包含对我的产品列表的引用,也应将其保存。
我正在尝试使用以下内容:
Function UsesProductsList(ws As Worksheet) As Boolean
Dim r As Range
Dim c As Range
Set r = ws.UsedRange
UsesProductsList = False
For Each c In r
If InStr(1, c.Formula, ProductsList.Name) > 0 Then
UsesProductsList = True
Exit Function
End If
Next c
End Function
但有一个错误。当我调试错误时,我可以看到它与以下行 If InStr(1, c.Formula, ProductsList.Name) > 0 Then 有关,当我用鼠标悬停时,我可以看到单元格 A1 中的公式。
【问题讨论】:
-
你有什么错误?
-
运行时错误 424 需要对象
-
ProductsList.Name可能是原因。如果“ProductsList”是工作簿的名称,则使用Workbooks这样的集合:Workbooks("ProductsList").Worksheets(1).Name... 或工作表的任何名称:Workbooks("ProductsList").Worksheets("SomeSheetName").Name -
怎么样?我只是想如果公式中存在指定的名称,VBA 应该识别它并继续保存。
-
ProductsList 是其中一张工作表的名称