【问题标题】:VBA not setting cell text in excel spreadsheetVBA没有在excel电子表格中设置单元格文本
【发布时间】:2013-08-13 01:39:15
【问题描述】:

我的 VBA 代码中有以下代码行,用于在 Excel 工作表中自动设置单元格的文本。

Sheets(checkout_sheet_name).Cells(Row_Index, checkout_tool_observation_column).Value = status

以前在我的旧电子表格中执行相同的逻辑很好,但现在我已将模块转移到新的电子表格中,它不再工作。该行以所有变量的正确值执行。有谁知道为什么这行代码会简单地执行而不实际将单元格的值设置为我在调试器中看到的文本?

谢谢。

【问题讨论】:

  • 你的价值观都是你期望的吗? (checkout_sheet_nameRow_Indexcheckout_tool_observation_columnstatus
  • 仅凭这一点,并假设每个变量都有适当的值,......你能提供更多的代码吗?新工作簿与旧工作簿具有相同的工作表名称?你的意思是它执行而不给你一个错误没有设置单元格值?
  • Option Explicit 作为代码的第一行放在Module 中。 Option Explicit 语句检查代码中使用的所有变量是否已声明(在编译时)。如果不是,则会引发错误,这使开发人员更容易检查他的代码。
  • 另外添加一行Debug.print Sheets(checkout_sheet_name).Cells(Row_Index, checkout_tool_observation_column).Value 并确保该值存在。有时将字体颜色设置为白色是一个愚蠢的错误

标签: excel vba


【解决方案1】:

由于我们不知道该行代码之前的内容,您可能需要调试。打印该单元格的地址以及支持它执行但未设置值的状态。

Debug.Print Now() & vbTab & Sheets(checkout_sheet_name).Cells(Row_Index, checkout_tool_observation_column).Address & " -> " & status

【讨论】:

    【解决方案2】:

    问题最终是我正在写入的列以某种方式折叠,当我尝试展开它时,我制作的按钮之一会覆盖它。我不太确定为什么会发生这种情况,但是当我将逻辑转移到另一个新的电子表格时,它就消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 2013-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多