【问题标题】:Create visible formula through VBA通过 VBA 创建可见公式
【发布时间】:2018-04-03 01:22:48
【问题描述】:

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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您不能引用这样的工作表。 AR.KeySheet 仅作为 Sheets() 集合的一部分有效。

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

    你需要使用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多