通过VBA创建可见的公式

时间:2018-01-29 05:19:37

标签: excel vba excel-vba

我的挑战是将可见公式编码到最终用户可以读取参考的单元格中。突出显示的黄色代码行会导致错误"应用程序定义错误或订单定义错误" 。要求是在单元格中是如下所示的简单公式,它从工作簿中获取实际结果的第一个数字,而另一个来自不同的工作簿。实际代码位于第三个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

1 个答案:

答案 0 :(得分:0)

你不能像这样引用一张纸。 AR.KeySheet仅作为Sheets()集合的一部分有效。

以下是引用工作表名称的解决方案:Get a worksheet name using Excel VBA

您需要使用:

"='" & Application.Caller.Worksheet.Name & "'!" & Cells(Cell1.row, Cell1.column).Address & "/" _