VBA筛选器表和副本

VBA筛选器表和副本,vba,excel,Vba,Excel,我在excel中有一个名为“RFQ_选择器”的3列表格。第二列包含是/否 我需要一个宏,它将只过滤表中第2列中包含“Yes”的行 然后,宏应将包含“是”的行左侧的每个单元格复制到同一工作表上的新位置。将它们粘贴到从单元格F25开始的列表中 我卡住了,谁能帮我一下吗。 谢谢 我已修改您的sub以反映您所需的更改: 将包含“是”的行的左侧的每个单元格复制到同一工作表上的新位置。将它们粘贴到列表中,开始 在F25单元 它不过滤,在您提供的代码中没有进行过滤,但输出仅包括“是”列的信息 因为Stac

我在excel中有一个名为“RFQ_选择器”的3列表格。第二列包含是/否

  • 我需要一个宏,它将只过滤表中第2列中包含“Yes”的行
  • 然后,宏应将包含“是”的行左侧的每个单元格复制到同一工作表上的新位置。将它们粘贴到从单元格F25开始的列表中
  • 我卡住了,谁能帮我一下吗。 谢谢


    我已修改您的sub以反映您所需的更改:

    • 将包含“是”的行的左侧的每个单元格复制到同一工作表上的新位置。将它们粘贴到列表中,开始 在F25单元
    它不过滤,在您提供的代码中没有进行过滤,但输出仅包括“是”列的信息


    因为StackOverflow不是免费的代码编写服务,所以您需要显示您的代码才能在此处获得任何帮助。谢谢您的建议,我的代码现在已出现在消息中
    Sub CopyYes()
        Dim c As Range
        Dim j As Integer
        Dim Source As Worksheet
        Dim Target As Worksheet
    
        ' Change worksheet designations as needed
        Set Source = ActiveWorkbook.Worksheets("Trader")
        Set Target = ActiveWorkbook.Worksheets("Sheet2")
    
        j = 1     ' Start copying to row 1 in target sheet
        For Each c In Source.Range("C8:C22")   ' Do 30 rows
            If c = "yes" Then
               Source.Rows(c.Row).Copy Target.Rows(j)
               j = j + 1
            End If
        Next c
    End Sub
    
    Sub CopyYes()
        Dim c As Range
        Dim j As Integer
        Dim Source As Worksheet
        'Target worksheet not needed, pasting to source worksheet
    
        ' Change worksheet designations as needed
        Set Source = ActiveWorkbook.Worksheets("Sheet1")
    
        j = 25                                  'Start copying to F25
        For Each c In Source.Range("B2:B30")    'Change the range here to fit the range in which your data for Yes/No is stored
            If c = "Yes" Then                   'Verify capitalization here, difference between "Yes" and "yes"
               c.Offset(0, -1).Copy Source.Range("F" & j)   'Copy the cell to the left of the Yes/No column and paste on same sheet starting at row F25
               j = j + 1
            End If
        Next c
    End Sub