【问题标题】:VBA: Copy cell in worksheet1 to worksheet2 based on value of cellVBA:根据单元格的值将工作表1中的单元格复制到工作表2
【发布时间】: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,这可能会对您有所帮助。
  • 抱歉 - 尝试编辑帖子以正确显示代码,但我遇到了用户错误。
  • 作为记录,我将您的代码块复制到我的,它运行良好。你遇到了什么错误?此外,在您的问题中,您要求检查 A1A2 等,但在您的代码中,您正在查看列 R
  • 我已经修改了我发布的内容,所以它现在确实可以运行,我遇到的主要问题是我只想将一个单元格从工作表 1 复制到工作表 2,而不是整行.. 。 感谢你的协助。我是一名律师,而不是一名编码员,并且多年来没有在 VBA 中工作过,所以我有点生疏并且不合时宜。感谢您的耐心。
  • 我使用了通用名称。我专门检查 R 列并想从 AG 列复制单元格。

标签: vba excel


【解决方案1】:

您只需快速修改即可从复制行更改为单个单元格和位置。我以前是从 c 行的 AG 列复制的。

Sub Output()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet

Set Source = ActiveWorkbook.Worksheets("workshee1")
Set Target = ActiveWorkbook.Worksheets("workshee2")

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
            Target.Cells(j, "A").Value = Source.Cells(c.Row, "AG").Value
            j = j + 1
        End If
    Next c
End Sub

【讨论】:

  • LOL - 您是否刚刚意识到您可以使用“AG”而不是 33? (我是几个月前才知道的!)它节省了这么很多时间在我的手指上添加东西。
  • 不知道,大多数时候我使用带有编号循环的Cell,所以我不熟悉传递字符串输入 - 我实际上使用一个函数将列字母转换为数字! :)
  • 自从我开始在 SO 上闲逛以来,这是我学到的最有用的东西之一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多