【问题标题】:How to display cell value offset active cell如何显示单元格值偏移活动单元格
【发布时间】:2013-08-25 16:56:47
【问题描述】:

我正在尝试使用函数根据我的 ActiveCell 或目标单元格显示单元格的值。我要显示的单元格在同一个电子表格中。

我的目标是在电子表格中创建一个标题,该标题将根据活动单元格的位置显示信息。

我已尝试此代码并在我希望显示值的单元格中键入函数=VendorName5(),但它似乎缺少某些内容。你能帮忙吗?


Function VendorName5() As String

Name = ActiveCell.Offset(0, -4)

       VendorName5 = Name

End Function

好的,找到了:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 8 Then
        Range("C2") = Cells(Target.Row, 2)
    End If

End Sub

【问题讨论】:

  • 此代码是否在工作表代码模块中?另外,我假设这是VBA,而不是VB.net
  • 是的,它在模块中。是的,它是 VBA
  • 我认为您不能在 UDF 期间将 ActiveCell 用作工作表函数的一部分。你在这里的最终目标是什么?如果您只想知道左侧 4 列的单元格的值,例如,您可以将 =A1 放入单元格 E1
  • 如果我将代码放在普通代码模块中,这对我有用,但如果我将它放在工作表代码模块中则不起作用。 Excel 2010。
  • 另外,如果你真的确实是基于ActiveCell 的动态函数,使用Worksheet_Change () 事件应该没问题。

标签: vba excel


【解决方案1】:

这是 VBA 而不是 VB.NET

试试.Value的单元格

Function VendorName5() As String

    Name = ActiveCell.Offset(0, -4).Value

    VendorName5 = Name

End Function

【讨论】:

    【解决方案2】:

    为什么不使用Offset函数:

    在 A1 单元格中:

    =OFFSET(A1,0,4,1,1)

    或者,直接引用单元格:

    =E1

    等等

    使用 UDF 来做一些工作表函数通常已经允许的事情似乎有点过头了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多