比较两列,但只有前4个字母 – VBA的Excel

我有2列 – 列A和列B,填充不同的项目。 B列总是比A列less(比A列less)。 我需要Excel 2007中的VBA公式来执行以下操作:

1)将列B中的前4个字母与项目列A的前4个字母进行比较

2)在列A中find一个匹配项,并将列A中的单元格的全部内容复制到列C中匹配的列B中的项目旁边。

这是我迄今为止所做的:

Sub Compare() Dim Range1 As Range, Range2 As Range, Rng1 As Range, Rng2 As Range Dim x As Long xTitleId = "Compare" Set Range1 = Application.Selection Set Range1 = Application.InputBox("Range1 :", xTitleId, Range1.Address, Type:=8) Set Range2 = Application.InputBox("Range2:", xTitleId, Type:=8) Application.ScreenUpdating = False For Each Rng1 In Range1 xValue = Rng1.Value For Each Rng2 In Range2 x = Rng2.Row If xValue = Rng2.Value Then Rng1.Copy ActiveSheet.Range("C" & x).PasteSpecial End If Next Next Application.ScreenUpdating = True End Sub 

这段代码完成了这项工作,但它比较了整个单词,而且我只需要前4个字母。 我知道的function左,但我不知道如何在这里实现它。 谁能帮我?

你需要的function如下:

 test = Left("YOURVALUE",4) 

当然也有相反的function:

 test = Right("YOURVALUE",5) 

在先例中,testing的结果是“您的”,第二种情况是“VALUE”

要在colum C中复制值,可以使用两种策略:

 ActiveSheet.Range("C" & x).Cells(row_index, column_index) 

要么

 ActiveSheet.Range("C" & x).PasteSpecial