只比较单元格中的某些字符与另一个单元格中的某些字符

嗨,大家好,我正在Excel 2003中运行一个macros来将属性地址与它的所有者地址进行匹配,所以我最终得到了缺席者的报告。

所以在:

column A column C 10 Smith DR Smithville 10 Smith DVE, Smithfield, 49089 Antartica 

这是如何input一些原始数据,但我需要这个logging和所有其他稍有不同的logging是一个匹配,因此没有被macrosselect,因为它search缺席所有者地址,然后填充选定的logging到sheet2。 用一般的术语来说,如果我可以比较A列中的前6个字符与C列中的前6个字符,那么我认为它会以我需要的方式工作。

有没有人知道我可以在下面显示的macros中实现这一点

 Sub test() Dim i As Long, lr As Long, r As Long, ws As Worksheet, value As Variant, val As Variant Dim sval As Integer, lr2 As Long Application.ScreenUpdating = False Set ws = Worksheets("Sheet1") lr = ws.Cells(Rows.Count, "A").End(xlUp).Row For i = 2 To lr value = Split(Cells(i, 1).value, ", ") For val = LBound(value) To UBound(value) sval = InStr(1, Cells(i, 3).value, value(val), 1) If sval = 0 Then Range("A" & i & ":" & "C" & i).Interior.Color = 65535 Next Next For r = 2 To lr lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row If Range("A" & r).Interior.Color = 65535 Then Rows(r).Copy Destination:=Sheets("Sheet2").Rows(lr2 + 1) lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row End If Next r Sheets("Sheet2").Cells.Interior.ColorIndex = 0 Application.ScreenUpdating = True MsgBox "Done Macro" End Sub 

希望我以这里所需的正确格式粘贴代码。 所以任何帮助和指导将不胜感激。

您可以使用公式LEFT() 。 这将检查列A中单元格的前6个字符到列C中的前6个字符。如果匹配,则会将列A中的值添加到列A Sheet2中的下一个空闲单元格。

 Sub First6Characters() LastRow = Cells(Rows.Count, "A").End(xlUp).Row LastRowSheet2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To LastRow If Left(Range("A" & i), 6) = Left(Range("C" & i), 6) Then Sheets("Sheet2").Range("A" & LastRowSheet2).Value = Range("A" & i).Value LastRowSheet2 = LastRowSheet2 + 1 End If Next i End Sub 

资料来源: http //www.techonthenet.com/excel/formulas/left.php