【问题标题】:VBA Excel "Target" highlighted as "Compile Error: Sub or function not defined"VBA Excel“目标”突出显示为“编译错误:未定义子或函数”
【发布时间】:2016-03-07 21:29:28
【问题描述】:

也许我很笨,但我不明白为什么我在以下代码中收到“编译错误:未定义子或函数”错误。编译器突出显示术语“目标”,就好像我应该定义它一样。 我在这里想念什么?我以为这是一个图书馆不见了,但他们似乎还好。谷歌搜索没有帮助。

Option Explicit
Sub Employee_Entered()
Dim Employee_name As String

Employee_name = Target.Value

Target(0, 2) = Employee_name

End Sub

(显然我已经删掉了其余的代码。但这仍然给了我所描述的错误。)

我使用的是 Excel 2010,版本 14.0.7165.5000。

谢谢 蒂姆

【问题讨论】:

  • 这里的目标是什么?
  • 似乎Target 应该是一个范围,那么您想将该范围内的值重复到单元格右侧的 2 列中吗?
  • 你有Option Explict 所以任何不是全局的都需要用Dim 语句定义,否则会引发编译错误。也许您正在寻找Selection。这不需要提前定义。
  • 我认为您对工作表事件(例如 Private Sub Worksheet_Change(ByVal Target As Range) 确实包含 Target 变量)感到困惑。在任何其他代码中,您必须自己定义 Target,或使用 Selection,如 Sobigen 评论的那样。

标签: vba excel


【解决方案1】:

修改Set 以满足您的需要:

Option Explicit

Sub Employee_Entered()
    Dim Employee_name As String
    Dim Target As Range

    Set Target = Range("A1")

    Employee_name = Target.Value
    Target.Offset(0, 2) = Employee_name
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多