删除另一个 sheet 中的行时避免引用错误
Avoiding reference error when deleting rows in another sheet
我有一个使用用户表单和 VBA 制作的可视日历。信息被输入到单独的数据sheet中,日历使用公式在宏运行合并之前将信息放在日历上。
现在,日历运行良好,但我注意到,如果我转到其中一个数据sheet并删除一行,日历中的该行就会在公式中出现#REF 错误。这使得很难将旧项目从日历中删除并向上移动。
日历上的公式现在正在查看月份(2 年的 1 月至 12 月)下的值 "Yes" 的特定 sheet,然后获取名称和项目名称单元格值.
我想知道我可以对这个公式做什么样的调整,这样就不会发生引用错误。我环顾四周并尝试做一个 INDIRECT/ADDRESS 公式,但无法真正让它们起作用。
示例公式:
=IF(ISNUMBER(FIND("Yes",'HI Project Work Database'!D2)), ('HI Project Work Database'!$B2&" - "&'HI Project Work Database'!$A2), "")
您可以用 INDEX 公式替换引用:
=IF(ISNUMBER(FIND("Yes",INDEX('HI Project Work Database'!D:D,ROW(2:2)))), (INDEX('HI Project Work Database'!$B:$B,ROW(2:2)) & " - " & INDEX('HI Project Work Database'!$A:$A,ROW(2:2))), "")
我有一个使用用户表单和 VBA 制作的可视日历。信息被输入到单独的数据sheet中,日历使用公式在宏运行合并之前将信息放在日历上。
现在,日历运行良好,但我注意到,如果我转到其中一个数据sheet并删除一行,日历中的该行就会在公式中出现#REF 错误。这使得很难将旧项目从日历中删除并向上移动。
日历上的公式现在正在查看月份(2 年的 1 月至 12 月)下的值 "Yes" 的特定 sheet,然后获取名称和项目名称单元格值.
我想知道我可以对这个公式做什么样的调整,这样就不会发生引用错误。我环顾四周并尝试做一个 INDIRECT/ADDRESS 公式,但无法真正让它们起作用。
示例公式:
=IF(ISNUMBER(FIND("Yes",'HI Project Work Database'!D2)), ('HI Project Work Database'!$B2&" - "&'HI Project Work Database'!$A2), "")
您可以用 INDEX 公式替换引用:
=IF(ISNUMBER(FIND("Yes",INDEX('HI Project Work Database'!D:D,ROW(2:2)))), (INDEX('HI Project Work Database'!$B:$B,ROW(2:2)) & " - " & INDEX('HI Project Work Database'!$A:$A,ROW(2:2))), "")