Board logo

標題: [發問] 請教cells.find的用法(關於找到資料並刪除連帶的資料) [打印本頁]

作者: lifedidi    時間: 2013-7-4 08:43     標題: 請教cells.find的用法(關於找到資料並刪除連帶的資料)

假設資料為
[attach]15367[/attach]

.cells.find找到批號為ABCD的位置,
並刪除相關資料(如圖片2~14列)

小弟的程式碼如下,但是會發生錯誤,請問怎麼修改呢?感謝!!
With UserForm1
        If 資料批號.Value = "" Then
            MsgBox "請先查詢資料", vbCritical + vbOKOnly, ""
            Else
            Set 刪除資料 = Sheet1.Cells.Find(What:=批號, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
            xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True)
            With Sheet1
                For i = -1 To 201
                刪除資料.Offset(-10, i).Delete
                刪除資料.Offset(-9, i).Delete
                刪除資料.Offset(-8, i).Delete
                刪除資料.Offset(-7, i).Delete
                刪除資料.Offset(-6, i).Delete
                刪除資料.Offset(-5, i).Delete
                刪除資料.Offset(-4, i).Delete
                刪除資料.Offset(-3, i).Delete
                刪除資料.Offset(-2, i).Delete
                刪除資料.Offset(-1, i).Delete
                刪除資料.Offset(0, i).Delete
                刪除資料.Offset(1, i)Delete
                刪除資料.Offset(2, i).Delete
                Next
            End With
        End If
End With
作者: handsometrowa    時間: 2013-7-4 08:55

拍謝,早上路過。

1.你C1 儲存格中,設計的那個字樣可以使用Alt+ Enter 讓他分行調整位置,
     就可以製造出你要的的效果了
2.你這張表格算是表單,不是資料庫型態喔,以後要更改資料會不會比較麻煩@@?
作者: lifedidi    時間: 2013-7-4 09:37

回復 2# handsometrowa


1.謝謝大大的指教,已更改!

2.該表單為耗材庫存,最近一直苦於想一個模式來紀錄,於是想出這樣的表單,不知道會不會很麻煩。

目前建立耗材資料、領用退回資料KEYIN、匯入報表 應該都好了(不知道會不會有BUG),【剩下設定當庫存剩下0時刪除整筆耗材資料並新增下一批料】。

請各高手不嫌棄,能提供些指教or意見,非常感謝。
[attach]15368[/attach]
作者: luhpro    時間: 2013-7-4 23:48

本帖最後由 luhpro 於 2013-7-4 23:51 編輯

回復 1# lifedidi
這裡簡化你所提供的程式片斷,
想要刪除涵蓋範圍為矩形的儲存格集合,
其實只要用一行就可以完成了 :

Range(刪除資料.Offset(-10, 1), 刪除資料.Offset(2, 201)).Delete

即可.




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