看板 Office 關於我們 聯絡資訊
Option Explicit Sub test() Dim myRng As Range Dim myUnion As Range Dim i As Boolean On Error Resume Next For Each myRng In ActiveSheet.UsedRange If ff("ABCD", myRng) Then If i Then Set myUnion = Application.Union(myUnion, myRng.EntireRow) Else Set myUnion = myRng.EntireRow: i = True End If End If Next myUnion.Delete End Sub Function ff(X As Variant, R As Variant) As Boolean Dim i As Integer Dim b As Boolean b = False For i = 1 To Len(X) If IsNumeric(Application.Find(Mid(X, i, 1), R)) Then ff = True Exit Function End If Next i ff = b End Function ※ 引述《HILLFLY (假如時光倒流)》之銘言: : 軟體: : 2003 : 版本: : 剛剛有爬文 想要刪除儲存格的資料 : 假設資料有 : A : B : C : D : E X : E X : E X : E X : E X : A : B : C : D : 想要把資料中 ABCD一整行全部刪除 : 變成 : E X : E X : E X : E X : E X : 想用EXCEL VBA做 : 剛剛有爬文 : Sub test() : Dim myRng As Range : Dim myUnion As Range : Dim i As Boolean : On Error Resume Next : For Each myRng In ActiveSheet.UsedRange : If IsNumeric(Application.Find("CBO", myRng)) Then : If i Then : Set myUnion = Application.Union(myUnion, myRng.EntireRow) : Else : Set myUnion = myRng.EntireRow: i = True : End If : End If : Next : myUnion.Delete : End Sub : 修改成 : Sub test() : Dim myRng As Range : Dim myUnion As Range : Dim i As Boolean : On Error Resume Next : For Each myRng In ActiveSheet.UsedRange : If IsNumeric(Application.Find("A","B","C","D", myRng)) Then : If i Then : Set myUnion = Application.Union(myUnion, myRng.EntireRow) : Else : Set myUnion = myRng.EntireRow: i = True : End If : End If : Next : myUnion.Delete : End Sub : 這樣子不行耶..... = = : 可以有大大跟我說哪裡出錯了嗎? : 感恩....Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.131.84.231
HILLFLY:剛剛試了一下 如果ABCD是數字帶入OK 05/13 15:36
HILLFLY:但是代入我檔案有ABCD文字+數字 執行後 全部檔案砍光光 05/13 15:37
HILLFLY:真是奇怪? ABCD文字+數字不行嗎? 05/13 15:38