0

所以我有两张纸,一张有信息,一张也应该复制信息。

如果完成标记为是,则该行中的所有信息将被复制到名为“FullpInfo2(带有按钮)的工作表中。在图片上的“模板”中。但我不知道现在该怎么做。有人可以给我知道如何继续这个?

如果我添加一个新行并赋予它“是”的值,它应该重写以前的(名称、饮料、食物、车辆)

在此处输入图像描述

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

    Set Source = ActiveWorkbook.Worksheets("PersonalInfo")
    Set Target = ActiveWorkbook.Worksheets("FullpInfo")


    For Each c In Source.Range("E2:E100")   ' Do 100 rows

        If c = "yes" Then


        Source.Rows(c.Row).Copy Target.Rows(j)

            Target.Cells("B15").Value = Source.Cells("A").Value ' I dont know what to do here..

        End If
    Next c
End Sub
4

1 回答 1

1

你可以试试:

Option Explicit

Sub CopyYes()

    Dim cell As Range
    Dim Source As Worksheet, Target As Worksheet

    With ThisWorkbook
        Set Source = .Worksheets("PersonalInfo")
        Set Target = .Worksheets("FullpInfo")
    End With

    With Target

        'Formatting
        Call Module1.Formatting(.Range("B3"), "Name", "Titles")
        Call Module1.Formatting(.Range("D3"), "Drink", "Titles")
        Call Module1.Formatting(.Range("B6"), "Food", "Titles")
        Call Module1.Formatting(.Range("D6"), "Vehicle", "Titles")

        For Each cell In Source.Range("E2:E100")

            If cell.Value = "yes" Then

                'Values
                Call Module1.Formatting(.Range("B4"), Source.Range("A" & cell.Row).Value, "Values")
                Call Module1.Formatting(.Range("D4"), Source.Range("C" & cell.Row).Value, "Values")
                Call Module1.Formatting(.Range("B7"), Source.Range("B" & cell.Row).Value, "Values")
                Call Module1.Formatting(.Range("D7"), Source.Range("D" & cell.Row).Value, "Values")

            End If

        Next cell

    End With

End Sub

Sub Formatting(ByVal rng As Range, str As String, strType As String)

    With rng
        .Value = str
        .Font.Bold = True
        If strType = "Values" Then
            .Font.Color = vbBlue
        End If
    End With

End Sub
于 2019-05-21T11:41:12.943 回答