如何搜索列并返回具有特定值的下一列中的值

问题描述:

我有一个包含列和多个工作表的Excel工作表。我想将Sheet1的列A复制到Sheet2。然后,一旦我复制了列A,我希望Sheet2中的列B具有与A中每个填充单元相邻的特定值(在本例中为“D”)。我仅使用下面的代码。如何搜索列并返回具有特定值的下一列中的值

例子:

Sheet1中包含:

Column A  B  C 
     Arthur 1  34 
     Bertha 2  35 

Sheet2中必须有:

Column A  B 
     Arthur "D" 
     Bertha "D" 

套牢代码:

Worksheets("Sheet1").Columns("A").Copy ActiveCell.Columns("A:A").Columns("A") 
+0

提示:代码存在的问题在于“ActiveCell”。 作为一种很好的编程习惯,尽量避免在宏中使用ActiveCell,ActiveSheet。它们可能会让大宏头疼。 如果您需要,只需在使用这些对象之前激活相关单元。 – tumchaaditya

这是你想什么呢?

Option Explicit 

Sub Sample() 
    Dim wsI As Worksheet, wsO As Worksheet 
    Dim lRow As Long 

    Set wsI = Sheets("Sheet1") 
    Set wsO = Sheets("Sheet2") 

    wsI.Columns(1).Copy wsO.Columns(1) 

    lRow = wsO.Range("A" & wsO.Rows.Count).End(xlUp).Row 

    wsO.Range("B1:B" & lRow).Value = "D" 
End Sub 
+0

'这是你正在尝试'我认为如此:) – JimmyPena