我想知道是否有人遇到过这个问题,假设我们有以下代码:
Excel.Range vl_range = (Excel.Range)((Excel.Worksheet)Application.ActiveSheet).get_Range("A1");
这可以安全地返回A1的范围。但是,如果我们输入字符串"'新工作表'!$ C $ 1",则会出现HRESULT错误。
但是,这可以通过以下代码来解决:
Excel.Range vl_range = (Excel.Range)(Application.get_Range("'new sheet'!$C$1"));
这确实有效。现在我想知道我是否输入" A1"只是在最后一行代码中,它会自动假设我是指活动表吗?
有人可以向我解释,为什么这在VBA中似乎有所不同?我可以使用Range方法轻松定义范围,即使我在工作表中?
我的结论是正确的还是我在某处犯了一个可怕的错误?
答案 0 :(得分:0)
对任何有兴趣的人。我已经测试了代码,如果我们使用:
Excel.Range vl_range = (Excel.Range)(Application.get_Range("C1"));
Excel会自动假定您指的是活动表。