[英]VBA- Transfer data from one sheet to another based on text and placing in into a specific location in the other sheet
[英]Excel VBA - Transfer Data range from one sheet to another based on conditional text string
我是宏的新手,我正在嘗試根據條件文本字符串將數據范圍從一個工作表傳輸到另一個工作表。
“查詢”表(范圍“A5:G1200”)中的數據需要根據“查詢”表中的列范圍“K6:K1200”是文本字符串“Y”還是“N”而轉移到“引號”表。 如果文本為“Y”,我們希望傳輸帶有“y”的數據行,如果文本為“N”,我們不希望傳輸帶“N”的行。
一旦帶有“Y”的數據范圍轉移到“報價”表,我們就需要將數據從“報價”表(范圍“A5:G1200”&和單獨的范圍“L5:M1200”)傳送到“訂單”表單如果“引號”表中的列范圍“N6:N1200”是文本字符串“Rec'vd”或“已關閉”。 與上面相同,如果文本是“Rec'vd”,我們希望傳輸帶有“rec'vd”的數據行。 如果“已關閉”,那么“關閉”行中的數據不應傳輸。
根據文本條件將所有數據傳輸到所有3張紙。 我想要第4張表格,根據日期范圍過濾此數據。 我希望能夠輸入日期范圍,然后輸入每張表中的所有數據(“查詢”,“引號”和“訂單”)以過濾到“主”第4頁。 每個數據表應在主表上有自己的區域(一個在另一個下面)以進行過濾。
這是我到目前為止...
Sub TransferTest1()
Dim INQUIRE As Worksheet
Dim QUOTE As Worksheet
Dim ORDER As Worksheet
Dim YString As String
Dim RecString As String
Set INQUIRE = ActiveWorkbook.Sheets("Inquiries")
Set QUOTE = ActiveWorkbook.Sheets("Quotes")
Set ORDER = ActiveWorkbook.Sheets("Orders")
If INQUIRE.Range("K6:K1200") = "Y" Then
INQUIRE.Range("A5:G1200").Copy QUOTE.Range("A5")
End If
If QUOTE.Range("N6:N1200") = "Rec'vd" Then
QUOTE.Range("A5:G1200").Copy ORDER.Range("A5")
QUOTE.Range("L5:M1200").Copy ORDER.Range("K5")
End If
End Sub
我感謝任何和所有的幫助!
羅伯特Smithey
這是Autofilter
的典型用例。
With INQUIRE.Range("A4:K1200")
.AutoFilter 11, "Y"
.offset(1).Resize(, 7).Copy QUOTE.Range("A5") ' columns A:G
.AutoFilter
End With
With QUOTE.Range("A4:N1200")
.AutoFilter 14, "Rec'vd"
.offset(1).Resize(, 7).Copy ORDER.Range("A5") ' columns A:G
.offset(1).Resize(, 2).offset(11).Copy ORDER.Range("K5") ' columns L:M
.AutoFilter
End With
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.