【问题标题】:Value "AJ" cannot be assigned to a variable值“AJ”不能分配给变量
【发布时间】:2020-12-30 02:25:15
【问题描述】:

我将一个变量分配给一个函数,它适用于除一个以外的所有值。

我放了值,用来测试剩下的代码。

Dim campaignGoal As String: campaignGoal = "AJ"

此代码不会产生任何赋值。

我重新启动了计算机。它只发生在值“AJ”上。

Sub main()
    Dim asdf As String
    asdf = "AJ"
End Sub

我正在执行什么。

End Sub 行中,asdf = "BK" 已被执行。

编辑:在这里您可以看到 Mathieu 指出的工具提示和本地窗口的比较。使用后者,这样您就不会像我一样挣扎。

【问题讨论】:

  • 所以你是说相同的代码以相同的方式测试除了“AJ”之外的任何值?
  • 我没有尝试过任何价值,但可以。无论如何,应该完成分配我不明白为什么它不接受价值。它适用于其他计算机 xD
  • 那么如果在main 例程中添加Msgbox asdf 作为最后一行代码会发生什么?
  • 我不知道你的意思是什么所以我不能说。
  • FWIW 如果名称/值被设置为 Windows 默认值,我有时会在 VBA(和 Word 域代码)中看到非常奇怪的东西。 “AJ”是否存储为系统设置?或者在某个地方用作 Excel 中的常量值?你有过这样的经历吗?

标签: excel vba vbe


【解决方案1】:

看起来像调试器故障(无法重现)。 locals 工具窗口也不完美,但我怀疑它可能更可靠地显示正确的值 - 这绝对是 正确分配的。

更喜欢使用 locals 工具窗口(View > Locals)而不是工具提示。

【讨论】:

  • 我面前没有我的电脑(它发生在我的一项工作中,我最近离开了)但我同意这肯定是一个小故障,我的同事没有这个问题。明天我将查看本地工具窗口以确认这一点。感谢到目前为止 Mathieu 所做的一切
  • 这个故障令人担忧,RD 开发人员正在调查可能的原因(如果我们想要增强 VBE 调试器,我们需要了解它的来龙去脉!)。一种假设是,分配可能已经在 p 代码中优化掉了,但在解释源中没有。
  • 在本地工具窗口中,它正确显示为 Mathieu。正如您所指出的,我将从现在开始依赖本地工具窗口而不是工具提示。谢谢你的一切:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 2014-06-04
  • 1970-01-01
  • 2013-03-05
相关资源
最近更新 更多