簡體   English   中英

根據單元格值將行從目標表復制到其他表

[英]Copy rows from Target sheet to oter sheets based on cell values

我在(vba查找)問題上遇到了一些困難。

我有一個工作表(sheet3),其中有多行不同發票的數據(每行數據都包括與之相關的發票編號) 數據表

我已將唯一的發票號復制到單獨的工作表中,每個發票都有自己的工作表,並且發票號在單元格B1中。 發票表

我要做的是將數據表中的所有行復制到具有匹配發票編號的表中。

我當前代碼的全部內容就是我的單獨發票頁面鏈接,而不是使用Vba來創建它們,因為頁面上還會有其他各種格式和格式,所以我幾乎從零開始就開始了!

  Private Sub CommandButton1_Click()
     Dim s1 As Worksheet, s2 As Worksheet
     Set s1 = Sheets("sheet3")
     Set s2 = Sheets("Bill Date")
     s1.Range("F:G").Copy s2.Range("A:B")
     s2.Range("A:B").RemoveDuplicates Columns:=1, Header:=xlNo
  End Sub

您的幫助將不勝感激

謝謝

在您的VBA宏中,在for循環中執行以下操作:

Sub copyData()
    Dim invNo As String
    Dim lastRow As Integer
    Dim sourceSht As Worksheet
    Dim targSht As Worksheet

    Set sourceSht = Worksheets("Sheet3")

    'evaluates every data item from row 2 to last populated row
    For Row = 2 To sourceSht.Cells(sourceSht.Rows.Count, 1).End(xlUp).Row

        invNo = sourceSht.Range("F" & Row).Value

        'if invNo blank, skip
        If invNo <> "" Then
            'try to find the sheet, make if does not exist
            invNo = invNo & "_INV"
            On Error Resume Next
            Set targSht = Worksheets(invNo)
            If targSht Is Nothing Then
                Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = invNo
                Set targSht = Worksheets(invNo)
                'SetHeader
            End If

            'find first empty row in targSht
            lastRow = targSht.Cells(targSht.Rows.Count, 1).End(xlUp).Row + 1

            'copy row of data
            sourceSht.Range("A" & Row & ":L" & Row).Copy
            targSht.Range("A" & lastRow & ":L" & lastRow).Select
            targSht.Paste

            'must do to make more sheets
            Set targSht = Nothing
        End If
    Next
End Sub

我更改了您的某些規格,以便采用更簡單的方法。 我以為您向我展示的十二列就足夠了。 我在發票表的末尾添加了“ _INV”,因為純粹的數字表名稱可能會導致錯誤。 我還要逐行將數據行粘貼到新工作表中。 如果保留當前標題,則需要更改順序。 您可以考慮更改targSht標頭以使其更容易。 SetHeader是代碼塊的占位符,可根據需要在targSht中設置標題行。 如果可以解決您的問題,請標記為正確。

演示(無發票抬頭): 跑步前 運行后

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM