【问题标题】:Function to return the letter of a cell-address from a range从范围中返回单元格地址的字母的函数
【发布时间】:2016-12-02 05:12:05
【问题描述】:

我需要一个可以从某个范围返回单元格地址字母的 excel 宏。

例如,如果我有两个工作表,我想在工作表 2 上使用它,但它应该在工作表 1 中找到一个单元格的字母。 比如:

=Letter(sheet1!A1:sheet1!D6;"cat";"未找到")

所以在这种情况下,它必须在 sheet1 的 A1:D6 中搜索“cat”,如果找到它,它会将字母作为值返回给我,如“C”,如果是“未找到”没找到。

我已经搜索过它并找到了一些类似的东西,但我并不真正了解 VBA 并且无法适应某些东西。

谁能帮帮我?

【问题讨论】:

  • 为什么?您是否要将这些信息用于另一个公式?
  • 如果您指的是结果列,为什么需要这样做?
  • 是的,用于第三个工作表中的间接公式。所以基本上 sheet1 = data, sheet2=paths, sheet3=basis table 和其他一切都建立在 sheet3 之外
  • 然后你可以跳过它直接用INDEX走到最后。如果您向我们提供完整的图片,我们可以帮助您制定正确的公式。

标签: vba excel


【解决方案1】:
Function Letter(Target As Range, Search As Variant, value_if_false As Variant)
    Dim f As Range
    Set f = Target.Find(Search, After:=Target.Cells(1), LookIn:=xlFormulas, LookAt:=xlWhole)
    If f Is Nothing Then
        Letter = value_if_false
    Else
        Letter = Split(f.Address(True, True), "$")(1)
    End If
End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多