我的挑战是将可见公式编码到最终用户可以读取参考的单元格中。突出显示的黄色代码行会导致错误"应用程序定义错误或订单定义错误" 。要求是在单元格中是如下所示的简单公式,它从工作簿中获取实际结果的第一个数字,而另一个来自不同的工作簿。实际代码位于第三个Excel中。
=5/78
变量
Private AR As New Dimension
Private UR As New Dimension
UR.KeySheet
- > Sheet 1
AR.KeySheet
- > DivederNumbers
UR.Wb
- > myWorkbook.xlxs
AR.Wb
- > myOtherWorkbook.xlxs
Dim test As String
If AR.Wb.Sheets(AR.KeySheet).Cells(Cell3.Row, Cell2.Column) > 0 Then
test = AR.Wb.Path & "\" & AR.Wb.Name
'**THIS LINE CAUSES ERROR:
UR.Wb.Sheets("RESULT").Cells(Cell1.Row, Cell1.Column).Formula = _
"='" & UR.KeySheet & "'!" & Cells(Cell1.Row, Cell1.Column).Address & "/" _
& "'" & [test] & AR.KeySheet & "'!" & Cells(Cell1.Row, _
Cell1.Column).Address(External:=True)
Exit For
End If
答案 0 :(得分:0)
你不能像这样引用一张纸。 AR.KeySheet
仅作为Sheets()
集合的一部分有效。
以下是引用工作表名称的解决方案:Get a worksheet name using Excel VBA
您需要使用:
"='" & Application.Caller.Worksheet.Name & "'!" & Cells(Cell1.row, Cell1.column).Address & "/" _