Re: [問題] excel vba 刪除問題

看板Office作者 (windknife18)時間14年前 (2012/05/13 14:35), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/3 (看更多)
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

05/13 15:36, , 1F
剛剛試了一下 如果ABCD是數字帶入OK
05/13 15:36, 1F

05/13 15:37, , 2F
但是代入我檔案有ABCD文字+數字 執行後 全部檔案砍光光
05/13 15:37, 2F

05/13 15:38, , 3F
真是奇怪? ABCD文字+數字不行嗎?
05/13 15:38, 3F
文章代碼(AID): #1FhrOYcL (Office)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1FhrOYcL (Office)