用于从范围返回单元格地址的函数的函数

时间:2016-12-01 20:44:13

标签: excel vba excel-vba

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

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

= Letter(sheet1!A1:sheet1!D6;" cat&#34 ;;" not found")

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

我已经搜索过它,发现了一些类似但我不太了解VBA并且无法适应某些事情。

有人能帮助我吗?

1 个答案:

答案 0 :(得分: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