簡體   English   中英

根據單元格值將數據從一張表復制並粘貼到另一張表

[英]Copy and paste data from one sheet to another sheet(s) based on cell value

嘿伙計們,我有一個問題,正如標題中簡要說明的那樣。 具體來說,我每天都有訂單,我需要根據“交付提供商”和“渠道”列將它們放在不同的工作表上。 圖片說明在這里

我之前創建了一個用戶表單,但我必須根據 del 提供者和渠道將我的數據表分成幾張表,然后使用代碼

lr = sh1.Cells(Rows.Count, 1).End(xlUp).Row

sh1.Range("A2:A" & lr).Copy Destination:=sh2.Range("B2")

將所有列一一復制並粘貼到每張紙上。

但實際上我有很多提供者(6 個或更多),這使得它非常耗時。

所以我關心的是如何根據 2 列將它們復制並粘貼到所需的工作表中。

我偶然發現我可以將“數據”中的每一列作為源列,並將“ems_by_sea”中的每一列和其他列作為目標/目標列,然后執行 FOR/NEXT 語句。 但我不知道如何在不同的工作表中使用 CONST ......

const firstrow = 2
const soucol_provider = sh1.cells("E"), soucol_channel = sh1.cells("F")

我試圖這樣做,但 VBA 響應錯誤

Application.screenupdating = False
For i = firstrow to lr
If Sh1.Cells(i, soucol_provider).Value = "EMS" and Sh1.Cells(i, soucol_channel).Value = "by air" Then 

#將當前行中的數據復制並粘貼到工作表“ems_by_air” nex 我不知道是否有更好的方法來實現這一點......你們能對此有所了解嗎?FIY:這不僅僅是復制和粘貼由於每個工作表中的列順序不同,因此工作表的確切數據。

作為 scope 的一部分,您可以select為您的目標電子表格提供一個案例,例如:

dim destSheet as worksheet
Select case true
    case deliveryProvider = "X" and channel="Y"
        set destSheet = sheets(1)
    case deliveryProvider = "A" and channel="B"
        set destSheet = sheets(2)
End select
With destSheet
    'use .notation
End with

您可以設置您認為合適的條件,以說明您的因素/變量的數量。

暫無
暫無

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

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