我正在尝试在工作簿中编写一个脚本,该脚本将检查第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的新手,并没有很多指导。任何帮助将不胜感激!
答案 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