2014-10-12 70 views
0

我在查找包含特定电子邮件地址的单元格的地址。这里是我的代码:使用Excel中的查找方法找不到电子邮件字符串vba

Function find_email(range_input As Range) As String 

    Dim item_input As String 
    item_input = "[email protected]" 

    Dim found_range As Range 

    With Worksheets("test_sheet").range_input 

     Set found_range = .Find(What:=item_input, LookIn:=xlValues, LookAt:=xlPart) 

    End With 
    find_email = found_range.Address 

End Function 

编辑后回答1

我已经迈出了答案#1制成,改变代码的建议是:

Public Function find_email(range_input As Range, string_input As String, collumn_offsett As Integer) As String 

    Dim found_range As Range 

    With Worksheets("test_sheet").Range(range_input.Address) 
     Set found_range = .Find(What:=string_input, LookIn:=xlValues, LookAt:=xlPart) 
    End With 

    Dim output_range As Range 
    Set output_range = found_range.Offset(0, collumn_offsett) 
    find_email = output_range 

End Function 

Sub test_email_find_code() 
    Debug.Print find_email(Range("f1:f7"), "[email protected]", -3) 
End Sub 

test_email_find_code作品大。当我尝试在单元格中使用功能find_email时,它不起作用。我真的不明白如何研究这一点。我是否必须以某种方式调整范围输入?

+0

为什么不这行得通?它在我测试它时起作用。你确定你正在引用正确的对象吗? (例如工作表名称) – L42 2014-10-13 01:05:21

回答

1

要使其工作就像你写你就需要改变像这样一行:

With Worksheets("test_sheet").Range(range_input.Address) 

下面是完整的代码位于一个单独的模块:

Public Function find_email(range_input As Range) As String 
    Dim item_input As String 
    item_input = "[email protected]" 

    Dim found_range As Range 

    With Worksheets("test_sheet").Range(range_input.Address) 
     Set found_range = .Find(What:=item_input, LookIn:=xlValues, LookAt:=xlPart) 
    End With 
    find_email = found_range.Address 
End Function 

你可以用另一个子测试它:

Sub findEmail() 
    Debug.Print find_email(Range("A1:D100")) 
End Sub 

或者使用在细胞的功能是这样的:

=find_email(A1:D100) 

结果取决于答案,我使用的小区C4所以结果是$C$4

+0

它在即时窗口中打印答案,但不在单元格中打印答案。 – dwstein 2014-10-12 11:19:50

+0

是的,debug.print只是为了测试这个函数,因为我不知道你对结果做了什么。这就是为什么我也包含了一个单元格示例。希望能帮助到你。 – 2014-10-12 15:13:30

+0

我非常感谢你的回答,它似乎可以在一种情况下工作,但我无法在我的电子表格中将它作为函数工作。我在我的问题中添加了一个编辑,试图弄清楚。 – dwstein 2014-10-13 00:30:00

相关问题