我希望你能给我一些提示。我最近完成了这项任务,以纠正连续的细胞,例如:
Contact: Address 1
-------------------
16, Shota Rustaveli
241 Mukanov Street
241 Mukaov Street
241 Mukaov Street
241 Mukaov Street
241 Mukaov Street
241 Mukaov Street
241 Muknov Street
3, rue Rene Cassin
3, rue Rene Cassin
9th Floor, South To
AddressLine1
Baribaev str. 31
Danubius utca 16.
Fő út 197.
Homokbánya köz 10.
Mikulandská 122/4
Mikulanská 122/4
所以,主要的想法是如果有一个字符(特殊字符2)缺少它应该添加。所以我做的是使用Vlookup函数查找每个单元格的下一个单元格,如果它们类似于纠正第二个单元格,如果不是要跳过它。
Private Sub AddressCorrection()
Dim AddCorr As Variant
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim AddLookup As Variant
Dim wksSource As Worksheet
Set wksSource = ActiveWorkbook.Sheets("Sheet1")
With wksSource
For i = 3 To 20
k = i + 1
j = i + 1
AddLookup = wksSource.Range("AQ" & i).Value
'Check if it is in the same company
If wksSource.Range("A" & i).Value = wksSource.Range("A" & j).Value Then
On Error Resume Next
If IsError(Application.WorksheetFunction.VLookup(AddLookup, wksSource.Range("AQ" & j), 1, True)) Then
GoTo EndLine
Else
AddCorr = Application.WorksheetFunction.VLookup(AddLookup, wksSource.Range("AQ" & k), 1, True)
If AddCorr = wksSource.Range("AR" & i).Value Then
'Do nothing
Else
wksSource.Range("AQ" & j).Value = wksSource.Range("AQ" & i).Value
End If
End If
Else
GoTo EndLine
End If
EndLine:
'End of loop
Next i
End With
End Sub
主要的问题是,正如我想要的那样,一半的物品正常工作......但另一半是:
Application.WorksheetFunction.VLookup(AddLookup, wksSource.Range("AQ" & j), 1, True)
给我对象'_Worksheet'的方法'范围'失败
有时我甚至没有得到它想要的错误,并且在对Sheet本身进行一些更改之后,它给了我同样的错误。
我不确定我是否正在解决Sheet错误或某些对象,甚至可能我还没有完全理解Vlookup功能。
提前致谢:)。