根据条件复制和粘贴

时间:2018-03-08 17:59:13

标签: excel vba excel-vba

我正在尝试在工作簿中编写一个脚本,该脚本将检查第10行中的单独工作表(“工作表2”)的值(“是”) - 请参阅 Worksheet 2 Column B

如果它返回yes,我想复制同一列中的第4行中的单元格(在本例中为B4)并将其粘贴到第2行开始的B列中的“工作表1” - 请参阅Worksheet 1 Column B

然后我希望它检查接下来的100行是否有相同的信息,并将所有行第4行的第4行单元格粘贴到“工作表1 - 行B”中。这是我现在拥有的:

Sub CommandButton1_Click()

Dim lr As Long
lr = Cells(Rows.Count, "B").End(xlUp).Row
For Each Sheets("Option 2").Cell In Range("B10:CZ10")
        If Cell.Value = Range("Yes").Value Then
       Worksheets("Option 2").Cell.Range(B4).Copy Range("B")
       Exit Sub
    End If
Next Cell
    Worksheets("Option 2").Range("B5:CW10").Copy Range("B")
    Range("B" & lr + 1).PasteSpecial Paste:=xlPasteValues
End Sub

很抱歉,如果写得太可怕了。我是VBA的新手,并没有很多指导。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

也许这就是你的尝试。

Sub CommandButton1_Click()
    Dim lr As Long, rng as range

    lr = Cells(Rows.Count, "B").End(xlUp).Row

    For Each rng In Sheets("Option 2").Range("B10:CZ10")
        If lcase(rng.Value) = "yes" Then
            lr = lr+1
            cells(lr, "B") = rng.offset(-6, 0).value
        End If
    Next rng

End Sub