LibreOffice Calc Goal Seek 在基本宏中不起作用

Posted

技术标签:

【中文标题】LibreOffice Calc Goal Seek 在基本宏中不起作用【英文标题】:LibreOffice Calc Goal Seek does not work from Basic Macro 【发布时间】: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) 【参考方案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

【讨论】:

以上是关于LibreOffice Calc Goal Seek 在基本宏中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

用于 Libreoffice-calc 和 Openoffice-calc 的 Python“Hello World”[关闭]

LibreOffice Calc / OpenOffice Calc / Excel:如何显示负持续时间?

用于 CSV 导入的 Libreoffice Calc 模板

如何通过 LibreOffice 的 Calc 中的正则表达式语句捕获公司名称

Excel、Libreoffice/Openoffice Calc:计算“正确”答案

如何让 LibreOffice 无头 Calc 计算以保存 uno 的新值?