簡體   English   中英

如何在不同的單元格范圍內將具有不同值的整行復制並粘貼到新表中?

[英]How can I copy & paste entire rows with distinct values to a new sheet on varying cell ranges?

我知道有很多關於從VBA中的單元格值復制和粘貼的StackOverlow問答。 但是,我似乎無法使其適用於我自己的項目。 我要復制整行(如果它與H列中的Distinct Store#(非增量)匹配)到新工作表(在下面的代碼為“ Sheet1”中),該工作表已經有模板布局,可以在其中復制/粘貼價值觀。 在填寫任何數據之前,該模板在每張紙上看起來都一樣,除了前兩個具有數據的選項卡(“約會”和“發票”)。

我想出了下面的VBA,但這是要抓住的單元格,它粘貼了基於商店#更改的行(在下面的代碼“ A10”中)。 這是因為我要從不同的Store#復制工作簿中第一張工作表(“約會”)中的行,然后刪除第二張工作表(“發票”)數據所在區域上方的空行。 有些商店可能會返回10行或根本不返回。 案例,即商店編號,目前是手動逐一放入的。 應該是數組嗎?

無論如何...我希望自動化每個商店的復制/粘貼和循環到其工作表。 也許我要解決這個錯誤,但是有人會建議如何解決我的錯誤代碼“找不到方法或數據成員”。 以及提供任何有關使我的代碼更好的建議,以使循環將過濾后的單元格復制到每張紙的不同位置。

我的逐步過程的簡單說明:

1.從“約會”表中過濾商店編號。
2.復制該商店的所有行,然后粘貼到B3中名為“ Sheet1”的模板的新工作表中。
3.從“發票”表中過濾商店編號。
4.復制該商店的所有行,並將其粘貼到上述行下方的先前制成的名為“ Sheet”的工作表中。 (某些商店沒有發票,因此此部分為空白/ NULL)。 每個商店的“發票”的粘貼目標單元格將有所不同,具體取決於它們從“約會”表中獲得的行數(可以是A10或A25)。
5.循環-下一個存儲號,下一張紙(sheet2)。

    Sub CopyToNewSheetInv()

    Dim i As Range
    Dim book As Workbooks
    Dim sheet1 As Worksheets
    Dim sheet2 As Worksheets

    Set book = Workbooks("SampleWorkbookName")
    Set sheet1 = Worksheets("AllInvoices")
    Set sheet2 = Worksheets("Sheet1")

    For Each i In sheet1.Range("H:H")

    Select Case i.Value

        Case 1243

            sheet2.Range("A10").End(xlUp).Offset(1, 0).EntireRow.Value = i.EntireRow.Value

        Case Else

    End Select

    Next i
    End Sub

嘗試這個:

Sub CopyToNewSheetInv()

Dim i As Range
Dim book As Workbook
Dim sheet1 As Worksheet
Dim sheet2 As Worksheet

Set book = Workbooks("SampleWorkbookName.xlsx")
Set sheet1 = book.Worksheets("AllInvoices")
Set sheet2 = book.Worksheets("Sheet1")
'iterate only thorugh those cells in H that have data, not all 1.04 million
For Each i In sheet1.Range("H1", sheet1.Range("H" & sheet1.Rows.Count).End(xlUp))
    Select Case i.Value
        Case 1243,"1243"
            sheet2.Rows(sheet2.Range("A10000").End(xlUp).Offset(1, 0).Row).Value = sheet1.Rows(i.Row).Value
        Case Else
    End Select
Next i
End Sub

暫無
暫無

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

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