【问题标题】:LibreOffice Calc Goal Seek does not work from Basic MacroLibreOffice Calc Goal Seek 在基本宏中不起作用
【发布时间】:2020-04-09 16:52:26
【问题描述】:

我正在尝试从 Calc 基本宏运行目标搜索。

Public Sub Goal_Seek()
  oVariableCell = detailSheet.getCellRangeByName("VariableCell")
  oFormulaCell = detailSheet.getCellRangeByName("FormulaCell")
  oTargetCell = detailSheet.getCellRangeByName("TargetCell")
  ThisComponent.seekGoal(oFormulaCell.CellAddress, oVariableCell.CellAddress, oTargetCell.getValue)
End Sub

当我运行宏时,没有任何更新。当我从电子表格菜单 Tools->Goal Seek 运行 Goal Seek 并在表单中输入相同的单元格时,目标搜索功能正常。

我的宏在我的宏标准模块 1 中。命名范围返回正确的单元格地址。从宏调用时,什么可能导致目标寻求不更新?

【问题讨论】:

  • 剪切粘贴时错过了sub的第一行detailSheet = ThisComponent.Sheets(7)

标签: libreoffice basic


【解决方案1】:

它不起作用的原因是当我从宏调用目标集时,我必须自己设置结果。我应该猜到的。新代码是

  detailSheet = ThisComponent.Sheets(7)
  oVariableCell = detailSheet.getCellRangeByName("VariableCell")
  oFormulaCell = detailSheet.getCellRangeByName("FormulaCell")
  oTargetCell = detailSheet.getCellRangeByName("TargetCell")
  oGoal = ThisComponent.seekGoal(oFormulaCell.CellAddress, oVariableCell.CellAddress, oTargetCell.getValue)
  oVariableCell.setValue(oGoal.Result)
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多