Board logo

標題: 如何移除關鍵字的整列 [打印本頁]

作者: jsc0518    時間: 2017-11-14 07:54     標題: 如何移除關鍵字的整列

各位excel vba 先進,

之前我有用下列語法,它可以刪除在A欄出現-->單別:
可以刪除整列
我目前的問題是,若關鍵字-->單別:
若有多很多的空白或添加字,它這一列就會刪除不到
有何與法式可以找到指定後關鍵字,就刪除整列
再麻煩各位,謝謝!



Sub Step3()
'A攔下移除"單別:"
Dim yy
yy = "單別:"
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
作者: Hsieh    時間: 2017-11-14 10:30

回復 1# jsc0518

Sub ex()
Set a = Columns("A").Find("單別*")
Do Until a Is Nothing
a.EntireRow.Delete
Set a = Columns("A").Find("單別*")
Loop
End Sub
作者: jsc0518    時間: 2017-11-14 11:00

回復 2# Hsieh
Hi 感謝您的回覆,TEST OK
讓我學會了*的用法
謝謝您!
作者: jsc0518    時間: 2022-4-19 21:31

回復 2# Hsieh

Dear Hsieh,
您好!若語法改為B欄列下,當B欄下只要是0的值都移除整列
可是這樣改,連50、60、70、.....都會移除
我只想要等於0才刪除
要如何修改呢?
Thank you.


Sub ex()
Set a = Columns("B").Find("0")
Do Until a Is Nothing
a.EntireRow.Delete
Set a = Columns("B").Find("0")
Loop
End Sub
作者: samwang    時間: 2022-4-20 08:36

回復 4# jsc0518

請測試看看,謝謝
Sub test()
Dim xR As Range, xU As Range
For Each xR In ActiveSheet.Range("B:B").SpecialCells(xlCellTypeConstants).Rows
    If Not IsError(Application.Match(0, xR, 0)) Then
        If xU Is Nothing Then Set xU = xR Else Set xU = Union(xR, xU)
     End If
Next
If Not xU Is Nothing Then xU.EntireRow.Delete
End Sub
作者: jsc0518    時間: 2022-4-20 21:42

回復 5# samwang
Dear samwang,
Test OK,感謝您的熱心解惑。
與您請教:若需更改關鍵字是否更改下列語法

If Not IsError(Application.Match(0, xR, 0))

紅色字的部分改成其他數字或是文字?
作者: samwang    時間: 2022-4-21 06:59

回復  samwang
Dear samwang,
Test OK,感謝您的熱心解惑。
與您請教:若需更改關鍵字是否更改下列語法 ...
jsc0518 發表於 2022-4-20 21:42


可以查一下Excel Math用法就知道了,謝謝
作者: jsc0518    時間: 2022-4-21 22:21

回復 7# samwang

好的,謝謝您給予的指引,感謝您




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)