伊莉討論區

標題: EXCEL 用VBA 如何可取得不同key值資料 [打印本頁]

作者: p034611941    時間: 2019-12-8 11:35 PM     標題: EXCEL 用VBA 如何可取得不同key值資料

請各位大大幫忙指點..感激不盡!
以下小弟只會取一種資料到另一工作表
各位大大..要如何才能把庫存資料同時將"未配" 及 "登記" 兩種KEY值資料同時取至另一工作表?

Sub add()
Dim datasht As Worksheet, ASHT As Worksheet
Dim Y As Integer
Set datasht = Sheets("庫存")
Set ASHT = Sheets("未配登記")
Sheets("未配登記").Select
Selection.Borders.LineStyle = xlNone
Selection.ClearContents
datasht.Select
datasht.AutoFilterMode = flash
Y = datasht.Range("b65536").End(xlUp).Row
With datasht   
    Selection.AutoFilter FIELD:=4, Criteria1:="未配"
    .Range("A1:i" & Y).Copy ASHT.[A1]
End With
End Sub




作者: tryit244178    時間: 2019-12-9 09:46 AM

再寫一個"登記"用的
加在End Sub上面,這樣應該行吧?
  1. With datasht   
  2.     Selection.AutoFilter FIELD:=4, Criteria1:="登記"
  3.     .Range("A1:i" & Y).Copy ASHT.[A1]
  4. End With
複製代碼

作者: p034611941    時間: 2019-12-9 08:24 PM

感謝tryit244178回覆..
使用"登記"會從A1開始覆蓋"未配"的資料...
不知插入的方法該是如何使用..?
作者: tryit244178    時間: 2019-12-10 12:54 PM

本帖最後由 tryit244178 於 2019-12-10 01:22 PM 編輯

假設你要複製到 B 列,就改為這個
  1.     .Range("A1:i" & Y).Copy ASHT.[B1]
複製代碼


噢!我後來去查了AutoFilter 方法
https://docs.microsoft.com/zh-tw/office/vba/api/excel.range.autofilter
你也可以改成
  1. With datasht   
  2.    Selection.AutoFilter FIELD:=4, _
  3.                         Criteria1:="未配", _
  4.                         Operator:=xlOr, _
  5.                         Criteria2:="登記"
  6.    .Range("A1:i" & Y).Copy ASHT.[A1]
  7. End With
複製代碼
看你喜歡用哪個





作者: bigbrain    時間: 2019-12-10 05:09 PM

把這裡改為這樣試試
With datasht   
    Selection.AutoFilter FIELD:=4, Criteria1:=Array("未配", "登記"), Operator:=xlFilterValues
    .Range("A1:i" & Y).Copy ASHT.[A1]
End With
作者: p034611941    時間: 2019-12-13 07:59 PM

本帖最後由 p034611941 於 2019-12-13 08:11 PM 編輯

tryit244178 跟 bigbrain 都好棒,二個vba都能用.有您們真好....不但解決問題,還讓小弟我學習的更多..在此由衷感謝二位。前二天比較忙也沒時間上網,現在才回應,請大人有大量,別介意喲!




歡迎光臨 伊莉討論區 (http://a04.eyny.com/) Powered by Discuz!