作者pickchulin (空白)
看板Office
標題[算表] 如何用VBA刪除指定條件
時間Thu Jan 23 17:29:42 2020
軟體:Office
版本:Excel 2010
在網路上有查詢到使用VBA刪除指定數字或文字整列的語法
但這只能用在當下使用SHEET的刪除
可假設我有50個SHEET,我就要重複做50次一樣的動作
所以想請教版上大大,該如何修改以下巨集?
然後可以變成只要按一次,所有框選的sheet都會做刪除指定行的動作呢?
(PS.要做刪除的EXCEL內的每個SHEET格式在未刪除行之前都會一樣)
謝謝!!
-------------------以下為網路搜詢到的VBA語法-----------------
Sub 刪除資料1()
Dim YY
ReKey:
YY = Application.InputBox("請輸入要刪除的準則文字或值!")
If CStr(YY) = "False" Then Exit Sub
If YY = "" Then MsgBox "〔準則文字或值〕未輸入! ": GoTo ReKey
For i = [a65536].End(xlUp).Row To 1 Step -1
If WorksheetFunction.CountIf(Rows(i), YY) > 0 Then Rows(i).Delete
Next i
End Sub
---------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.148.64 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1579771784.A.1A4.html
1F:→ soyoso: 在內文迴圈外再設個迴圈來包,迴圈for each..next於 01/23 17:33
2F:→ soyoso: sheets或worksheets集合,或for...next終止值為worksheets 01/23 17:34
3F:→ soyoso: .count 01/23 17:35
4F:→ soyoso: 迴圈時要設為作用工作表的話worksheet.activate或select 01/23 17:39
5F:→ pickchulin: S大,抱歉,我不會寫語法,所以看不是很懂,是指要在 01/28 09:38
6F:→ pickchulin: 最後一段再加上您講的那個嗎?謝謝 01/28 09:38
7F:→ soyoso: 不是最後一段再加上,迴圈外再設個迴圈來包方面,為巢狀迴 01/28 09:43
8F:→ soyoso: 圈 01/28 09:43
9F:→ soyoso: for each/for 01/28 09:45
10F:→ soyoso: 設為作用工作表的話worksheet.activate或select 01/28 09:45
11F:→ soyoso: for i =.... 01/28 09:45
12F:→ soyoso: next 01/28 09:45
13F:→ soyoso: next 01/28 09:45
14F:→ pickchulin: 謝謝S大,我再來試試看看:) 02/01 22:49