【发布时间】:2018-03-09 02:29:42
【问题描述】:
我正在尝试在工作簿中编写一个脚本,该脚本将检查第 10 行中的单独工作表(“工作表 2”)的值(“是”) - 请参阅 Worksheet 2 Column B
如果返回“是”,我想将第 4 行中的单元格复制到同一列(在本例中为 B4)并将其粘贴到 B 列中的“工作表 1”,从第 2 行开始 - 请参阅Worksheet 1 Column B
然后我希望它检查接下来的 100 行是否有相同的信息,并将第 10 行中所有为“是”的第 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 新手,没有太多指导。任何帮助将不胜感激!
【问题讨论】:
-
您的意思是查看 100 列,Option2 中的第 10 行,对于每一个说是的,复制这些列中的第 4 行单元格并将它们粘贴到下一个可用的行工作表 1 起始列 B?如果是这样,您可以只使用 If 语句。如果是的话,您是希望表 1 中的值之间有空格还是全部相邻?
-
感谢您的回复,正确,我希望它查看选项 2 中第 10 行的所有 100 列。当它列出从第 4 行单元格返回的数据时,我希望它列出它在工作表 1 的 B 列中逐行显示。无需跳过空格。