如果在同一工作表中满足条件,如何复制列

How to copy a column if the criteria is met within the same worksheet

我正在尝试根据 C 中的条件将 B 列复制到 E 列。但是,我似乎无法弄清楚如何将数据复制到匹配的行中。

例如,我希望它像这样执行 {如果列 (C=x) 则与 B 列到 E 列中的相应文本匹配}

列 > A |乙 |丙 | D | E


         A   X       A
         B   Y
         C   X       C

这是我的

Dim x As Integer
Dim textSG As String
Dim erow As Long

x = 3 
erow = 0

Do while Worksheet.Cell(x, 3) <> ""    
    If InStr ((Worksheet.Cells(x, 3)),"X" > 0 Then    
        textSG = Worksheet.Cells(x, 2)    
        erow = erow + 3    
        Worksheet.Cells(erow, 5) = textSG
    End if 
    x = x + 1 
Loop

请尝试此代码。我认为它符合您的意图。

Dim R       As Long

For R = 3 To Cells(Rows.Count, 3).End(xlUp).Row
    ' case insensitive comparison
    If StrComp(Trim(Cells(R, 3).Value), "x", vbTextCompare) = 0 Then
        Cells(R, 5).Value = Cells(R, 2).Value
    End If
Next R