EXCEL 檢查 抽取 資料

本帖最後由 黑道明 於 2017-2-14 11:23 編輯

已經有一張由A至?? , 1-X000既表
要抽出指定整行 row , 去另一張表或頁 ( 格式一樣 )
已知係 row 1 2 3 9 99 100 ......... 500 999 , 成幾百行要 CTRL+X+V

有咩方法可以快D做到?

或者係 係原本張大DATA 入面 將指定 格仔變色都可以

件事係咁的
首先有張EXCEL A 放左入公司個系統 ,  跟手佢嘔左張excel list B 出黎 row 2 4 9 .... 999 , XXXX項 , 要人手debug
咁我就要將 有事果D抽出黎 人手改野 , 之後整一張剩係得 果幾百行改好DATA既 EXCEL Debug
另外再出 多一張 其他冇事果幾千行DATA 既 EXCEL fine

已經有一張由A至?? , 1-X000既表
要抽出指定整行 row , 去另一張表或頁 ( 格式一樣 )
已知係 row 1 2 3 9 9 ...
黑道明 發表於 2017-2-14 11:00


要抽嘅ROW係隨機,都無乜規律嘅。
咁就真係要一行一行咁去Copy啦。

TOP

要抽嘅ROW係隨機,都無乜規律嘅。
咁就真係要一行一行咁去Copy啦。
mdws2002 發表於 2017-2-14 11:37



    vba 得唔得??
ROW 有表可以做對比
我再人手 將VBA .XLSM SAVE AS .XLSX

但係我唔識VBA , 有C兄整左我會大約睇明.....但係唔識寫.....

TOP

用formula
Book14578789.jpg
2017-2-14 13:42

TOP

本帖最後由 黑道明 於 2017-2-14 15:18 編輯

原本個DATA長這樣 , 再多50項 , 2000條
Q1.jpg
2017-2-14 15:08

之後個系統出左張表X我呢樣 , 幾百條
Q2.jpg
2017-2-14 15:08


我要抽出有問題既去另一份EXCEL
再人手睇下呢幾百隻錯咩(呢個時候有獨立FILE , 就可以分比同事一齊做)
Q3.jpg
2017-2-14 15:08


另一方面要將冇事既抽出黎 , 去另一份冇問題既EXCEL
Q4.jpg
2017-2-14 15:08


姐係前後會出4份EXCEL , 用唔到TAB 因為本身個DATA已經有好多TAB......

問題係 有冇方法可以抽出黎....唔洗一個個COPY 同 DELETE........

TOP

vba 得唔得??
ROW 有表可以做對比
我再人手 將VBA .XLSM SAVE AS .XLSX

但係我唔識VBA , 有C兄整左 ...
黑道明 發表於 2017-2-14 11:47


For your reference

Option Explicit
DefInt A-Z
'Identify your Workbooks and Worksheets
'Make sure no formula in relevant Cells
'Check result!!!
Sub Test()
   Dim BookBRowNo As Long, BugRowNo As Long
   'ThisWorkbook can be Workbooks("YourBooks.xlsx")...
   For BookBRowNo = 4 To 2 Step -1 '4 is last RowNo in "BookB"
      BugRowNo = ThisWorkbook.Worksheets("BookB").Cells(BookBRowNo, 1)
      ThisWorkbook.Worksheets("BookA").Rows(BugRowNo).Copy ThisWorkbook.Worksheets("Debug").Rows(BookBRowNo)
      ThisWorkbook.Worksheets("BookA").Rows(BugRowNo).Delete 'then "BookA" will be "Fine"
   Next BookBRowNo
End Sub

TOP

本帖最後由 黑道明 於 2017-2-15 10:00 編輯

回覆 6# 狂蜂一號
唔該C兄!!!!!! , 不過有幾個問題
我當最終會有4份xlsx , Data.xlsx , Buglist.xlsx , Datadebug.xlsx , DataExceptbug.xlsx
呢個VBA係邊份xlsx到做? 定係開第二個.xlsm , 做完再一次過複製過去Datadebug.xlsx?
BookA , BookB 其實係代表緊邊份.xlsx , 定係sheet黎?
耐冇接觸VBA , D因果關係睇落有D亂

係General到做定係
做個 Active Controls - Command Button ?
  1. Private Sub CommandButton1_Click()
  2. End Sub
複製代碼
定係Wortsheet ?
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. End Sub
複製代碼
  1. Option Explicit
  2. DefInt A-Z
  3. 'Identify your Workbooks and Worksheets
  4. 'Make sure no formula in relevant Cells
  5. 'Check result!!!
  6. Sub Test()
  7.    Dim BookBRowNo As Long, BugRowNo As Long
  8.    'ThisWorkbook can be Workbooks("YourBooks.xlsx")...
  9.    For BookBRowNo = 4 To 2 Step -1 '4 is last RowNo in "BookB"
  10.       BugRowNo = ThisWorkbook.Worksheets("BookB").Cells(BookBRowNo, 1)
  11.       ThisWorkbook.Worksheets("BookA").Rows(BugRowNo).Copy ThisWorkbook.Worksheets("Debug").Rows(BookBRowNo)
  12.       ThisWorkbook.Worksheets("BookA").Rows(BugRowNo).Delete 'then "BookA" will be "Fine"
  13.    Next BookBRowNo
  14. End Sub
複製代碼

TOP

看看是否可以這樣操作?

1. 將buglist加入Data作一個獨立worksheet.
2. 在Data最前端加2 columns
3. 在新加第一個column (e.g. column A), 加入每行的row index. (可以"= Row()" 或手動輸入1, 2, 3,...再直接填到尾.
4. 在新加第二個column (e.g. column B), 用vlookup分辨出要debug同冇問題的數據. "=IF(ISNA(VLOOKUP(A1,budlist!A:B,2,0)),"Correct",VLOOKUP(A1,budlist!A:B,2,0))"
5. 用Sort & Filter分隔開debug和correct的rows, 分別抄到兩個新worksheets.

TOP

回覆 7# 黑道明

"BookA", "BookB" and "Debug" 係sheet黎:

"BookA" = "首先有張EXCEL A" / "原本個DATA長這樣 , 再多50項 , 2000條"

"BookB" = "嘔左張excel list B" / "之後個系統出左張表X我呢樣 , 幾百條"

"Debug" = "有事果D抽出黎...EXCEL Debug" / "我要抽出有問題既去另一份EXCEL"

after running: "BookA" >>> "EXCEL fine" / "另一方面要將冇事既抽出黎 , 去另一份冇問題既EXCEL"

TOP

本帖最後由 狂蜂一號 於 2017-2-15 16:44 編輯

如果唔想改 code, 可以 移動或複製 "BookA", "BookB" 去同一個新 Workbook, 插入一張新 Worksheet - "Debug"; 插入一張模組, "係General到做".

Sub Test() 會根據 "BookB" 提供嘅 "row", 將有事嗰啲由 "BookA" 複製去 "Debug", 然後就在 "BookA" 將它刪除。
(*** "BookA" 會被修改 ***)

TOP