請教excel vba寫作問題...

目前需要寫一個巨集...
搜尋特定字串然後刪除包含此字串上面數列...

例如:
abc 123
cde 456
x
y
z

資料部份只需要前面兩列...
每頁格式大致固定...
x、y、z為不需要的資料...
並且z為每頁結尾...

希望能寫個巨集搜尋z...
然後刪除包含z上面兩列的資料...

excel巨集自動產生的搜尋程式碼為下:
Cells.Find(What:="z",After:=ActiveCell,LookIn:=xlFormulas,LookAt:=_xlPart,SearchOrder:=xlByRows,SearchDirection:=xlNext,MatchCase:=False_,MatchByte:=False,SearchFormat:=False).Activate

目前卡在不知道如何傳回此格的列號...
剩下的刪除我應該能自己處理...
2011-11-02 16:01 發佈
MsgBox Cells.Find(What:="z", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False).Row
後面加 .ROW 即可


另外... 我用 MSGBOX 只是用來顯示值而已, 沒其他用處
你使用時要拿掉
謝謝...

不過如果搜尋不到指定字串的時候...會跑出"沒有設定物件變數或with區塊變數"...
然後就算改回可搜尋的字串也是會出現這個問題...

後來我改程式碼...
Set r = Cells.Find(What:="z", After:=ActiveCell).Row
If r Is Nothing Then
r = 0
MsgBox r
End If
則是在.Row的地方出現"編譯錯誤:此處需要物件"...
Cells.Find(What:="z", After:=ActiveCell).Row這個不是物件?...
Dim ra As Range
Set ra = Cells.Find(What:="z", After:=ActiveCell)
If ra Is Nothing Then
r = 0
Else
r = ra.Row
End If
MsgBox r
KaKuDoKu wrote:
Dim ra As ...(恕刪)

好的...謝謝...
問題已經解決了...

不過我後來是用別人寫好的函數去跑上面的問題...
http://excelvbamacro.com/how-to-find-row-position-of-a-particular-text.html
目前雖然還是有點問題(當搜尋不到指定字串時會程式中斷)...
不過基本想要的功能都已經做好了...
非常謝謝您...

您的函數等我工作有閒暇才能測試了...
希望能解決執行到最後搜尋不到指定字串...
然後程式跳出型態不符的錯誤...
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?