首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件复制粘贴

条件复制粘贴
EN

Stack Overflow用户
提问于 2015-01-21 00:37:52
回答 1查看 47关注 0票数 1

有没有人可以帮我做下面的事情的宏。我在工作表1中有带标题的数据,在工作表2中只有标题,没有数据。我需要一个宏来搜索工作表1和工作表2的匹配标题,并将粘贴数据复制到工作表2中。例如:如果工作表1和2有标题发票,则工作表1中的数据应粘贴到该标题下的工作表2中。但问题在于数据的粘贴。宏应粘贴每一张发票,从下一张发票起留出3行。同样,对于Sheet2中存在的其他标头也应该这样做,例如:(Sheet1)发票开票日期金额251 5/5/14 125150 5656 10/8/14 85000

表(2)科目总账发票盘点日期数据库xxxx 251 5/5/14

在3行数据库xxxx 5656 10/8/14之后

我检查了其他宏,但不能在3行之后粘贴数据。请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2015-01-21 02:53:19

这就是你要的。请注意,您需要将工作表名称分别更改为"Source“和"Target”。

代码语言:javascript
复制
Sub copyPaste()

    Dim srcColumnName As String
    Dim srcColumnIndex As Integer
    Dim srcRowIndex As Integer
    Dim trgtColumnName As String
    Dim trgtColumnIndex As Integer
    Dim trgtRowIndex As Integer
    Dim srcItemColumnIndex As Integer
    Dim trgtItemColumnIndex As Integer
    Dim srcItemName As String

    srcColumnIndex = 1
    srcRowIndex = 1

    Do While (1)

        trgtColumnIndex = 1
        trgtRowIndex = 1

        srcColumnName = Worksheets("Source").Cells(srcColumnIndex, srcRowIndex).Value

        'MsgBox ("Source Column Name: " + srcColumnName)

        If (srcColumnName = "") Then
            Exit Do
        End If

        Do While (1)

            trgtColumnName = Worksheets("Target").Cells(trgtColumnIndex, trgtRowIndex).Value

            'MsgBox ("Target Column Name: " + trgtColumnName)

            If (trgtColumnName = "") Then
                Exit Do
            End If

            srcItemColumnIndex = 2
            trgtItemColumnIndex = 2

            If (trgtColumnName = srcColumnName) Then

                Do While (1)

                    srcItemName = Worksheets("Source").Cells(srcItemColumnIndex, srcRowIndex).Value

                    'MsgBox ("Source Item : " + srcItemName)

                    If (srcItemName = "") Then
                        Exit Do
                    End If

                    Worksheets("Target").Cells(trgtItemColumnIndex, trgtRowIndex).Value = Worksheets("Source").Cells(srcItemColumnIndex, srcRowIndex).Value

                    srcItemColumnIndex = srcItemColumnIndex + 1
                    trgtItemColumnIndex = trgtItemColumnIndex + 3

                Loop

            End If

            trgtRowIndex = trgtRowIndex + 1

        Loop

        srcRowIndex = srcRowIndex + 1

    Loop

    MsgBox ("Program Completed successfully !!! ")

End Sub

关于Nirmalya

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28050589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档