【发布时间】:2017-01-27 20:12:43
【问题描述】:
使用 VBA,我该怎么做:
仅当单元格 A1(在 Worksheet1 中)的值 =“YES”时,才将 Worksheet1 中的单元格 B1 复制到新的 Worksheet2。
然后对范围 A1:A1000 中的每一行重复此操作(即基于 A2 值 =“YES”的 B2 副本等) - 如果单元格为空白,请检查下一行。
Sub Output()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
Set Source = ActiveWorkbook.Worksheets("worksheet1")
Set Target = ActiveWorkbook.Worksheets("worksheet2")
j = 1 ' Start copying to row 1 in target sheet
For Each c In Source.Range("R2:R1000") ' Do 1000 rows
If c = "YES" Then
Source.Rows(c.Row).Copy Target.Rows(j) /*getting stuck here on trying to copy a cell from column S in worksheet1 to worksheet2
j = j + 1
End If
Next c
End Sub
【问题讨论】:
-
你试过什么?这不是“我的代码”网站,但我们会帮助您解决一些错误。请参阅How to Ask 了解更多信息。此外,仅在此站点上进行快速搜索就会产生 Bunches of Results,这可能会对您有所帮助。
-
抱歉 - 尝试编辑帖子以正确显示代码,但我遇到了用户错误。
-
作为记录,我将您的代码块复制到我的,它运行良好。你遇到了什么错误?此外,在您的问题中,您要求检查
A1、A2等,但在您的代码中,您正在查看列R -
我已经修改了我发布的内容,所以它现在确实可以运行,我遇到的主要问题是我只想将一个单元格从工作表 1 复制到工作表 2,而不是整行.. 。 感谢你的协助。我是一名律师,而不是一名编码员,并且多年来没有在 VBA 中工作过,所以我有点生疏并且不合时宜。感谢您的耐心。
-
我使用了通用名称。我专门检查 R 列并想从 AG 列复制单元格。