我已经搜索了许多资源来尝试解决我的问题,但是我没有成功。我是 VBA 的初学者,所以我的代码很可能看起来很混乱。为了提出这个问题,我会尽量减少表格中的信息
我有两张纸,“数据”和“原始数字”。
数据包含标题为“属性”和“电话号码”的列,但只有“属性”中有数据。
原始号码包含相同的列,但是它缺少一些“属性”值,因为它只包含与这些属性关联的一定数量的电话号码。
数据表:
财产。. . . 1号
艾达街
2 艾达街
3 艾达街
4 艾达街
5 艾达街
6 艾达街
原始数字表:
财产。. . . 1号
艾达街。. . . 12345678
2 艾达街。. . . 12356322
5 艾达街。. . . 12551122
6 艾达街。. . . 12212112
我有一个自动将数字导入数据表的代码,但是一旦达到 3 Ada St,它就会返回错误(400),因为原始数字上没有 3 Ada St。我包含了一个错误处理程序,但是它在再次返回错误之前只工作一次。
到目前为止,这是我的代码:
Sub Button_Click()
Worksheets("Data").Range("B4").Select 'B4 is the Number column in the data sheet
Do While ActiveCell.Offset(0, -1) <> ""
On Error GoTo ErrorHandler
ActiveCell.Value = Application.WorksheetFunction.IfError(WorksheetFunction.VLookup(ActiveCell.Offset(0, -1), ThisWorkbook.Worksheets("Raw Numbers").Range("Numbers"), 2, False), "")
ErrorHandler:
ActiveCell.Offset(1, 0).Select
Loop
End Sub
我以这种方式编写代码是因为我最初使用的是函数而不是代码,但这太混乱了。IfError 函数在那里,因为如果地址没有附加数字,我希望单元格为空白。我尝试将其转换为错误处理程序的一部分,但它最终给了我一个错误。
有人请帮助我!如果您需要更多信息,我很乐意提供。我会一直关注这个话题!