[算表] 刪除多筆資料vba

看板Office作者 (佩蒂吉他)時間9年前 (2017/04/05 16:51), 編輯推噓0(0011)
留言11則, 2人參與, 最新討論串1/1
軟體:excel 版本:2007以上 我有數個檔案 要刪除A跟B欄位符合某些條件的那一列 條件要隨時可以更改 後來寫了個巨集 範例檔案 https://drive.google.com/open?id=0BwCgrQhGgaw7V24xcG1reko1ZjQ 主要是這段vba Do While openfile <> "" For J = 1 To abc Workbooks(thiswrkname).Activate Sheets("刪除").Select YY = Range("A" & 1 + J) Workbooks.Open filepath & openfile ActiveSheet.Select For i = [a65536].End(xlUp).Row To 1 Step -1 MM = Application.Match(YY, Range("A" & i & ":B" & i), 0) If IsError(MM) = False Then Rows(i).Delete Next i Next J Workbooks(openfile).Save Workbooks(openfile).Close openfile = Dir Loop 迴圈加上迴圈我都失敗 若只是單獨裡面那圈只刪一筆就會成功 不知道是那邊想錯了 感謝各位指點@@ 還有若是這個狀況不知道有什麼更好的寫法 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.67.77 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1491382289.A.D93.html

04/05 17:14, , 1F
1.counter為J的迴圈取消;YY的變數放置counter為i的迴圈內
04/05 17:14, 1F

04/05 17:15, , 2F
2.工作表函數match的第2引數,指定workbooks為該巨集活頁
04/05 17:15, 2F

04/05 17:17, , 3F
簿名稱及副檔名,巨集內有以thiswrkname取得,後面接
04/05 17:17, 3F

04/05 17:21, , 4F
的修改為range以單欄,變數使用上可不用配合變數i
04/05 17:21, 4F

04/05 17:33, , 5F
抱歉因刪除A跟B欄符合條件的那一列,更正為下方回文
04/05 17:33, 5F

04/05 17:33, , 6F
1.將巨集內workbooks.open filepath & openfile移至
04/05 17:33, 6F

04/05 17:34, , 7F
do while openfile <>""下方
04/05 17:34, 7F

04/05 17:34, , 8F
於YY=range("a" & 1+j)的下方打上workbooks(openfile)
04/05 17:34, 8F

04/05 17:35, , 9F
.activate,其他部分無變動
04/05 17:35, 9F

04/05 17:37, , 10F
04/05 17:37, 10F

04/05 20:19, , 11F
感謝S大的熱心指導 真的幫助我很多很多^^
04/05 20:19, 11F
文章代碼(AID): #1OvB0HsJ (Office)
文章代碼(AID): #1OvB0HsJ (Office)