標題:
新增與查找程式修改
[打印本頁]
作者:
shootingstar
時間:
2011-4-13 17:48
標題:
新增與查找程式修改
自己建了一個庫存表如附件,也照書各寫了一個新增與查找的VBA程式,新增是沒問題的,我可以在輸入表單的輸入欄位內輸入資料後,資料會自動轉寫到我指定的工作表內,但如果是像附檔那樣,我有6個工作表,要如何更改程式碼讓他依輸入表單內的F2儲存格裡的型號自動轉寫到該工作表。
另一個問題就是,查找無法執行,執行後會出現 執行階段錯誤錯誤"1004": 'Range'方法('_Gloable'物件)失敗,因為我是照書寫的,沒有除錯的能力,希望各位前輩指導。
還有就是在輸入表單,可以鎖住當我在入出庫單號內輸入的是"O"、"P"、"T"開頭的單號,就只能在出庫輸入數量,如果是"I"開頭的單號就鎖定只能載入庫輸入數量。
以上,謝謝。
作者:
GBKEE
時間:
2011-4-13 19:34
回復
1#
shootingstar
Sub 轉寫()
Dim motoHani As Range, sakisht As Worksheet, sakrng As Range
Set motoHani = [F3].Resize(7)
If IsError(Application.Match([F2], [B3:B8], 0)) Then MsgBox "沒有 型號!! ": Exit Sub
If [F5] = "" Then MsgBox "沒有 入出庫單號!! ": Exit Sub
Set sakisht = Worksheets([F2].Value)
Set sakrng = sakisht.Range("A" & Rows.Count).End(xlUp).Offset(1)
sakrng.Resize(, 7).Value = Application.Transpose(motoHani)
MsgBox "輸入完畢"
End Sub
Sub 查找()
Dim motoHani, myRng As Range
Set motoHani = [F3].Resize(7)
If IsError(Application.Match([F2], [B3:B8], 0)) Then MsgBox "沒有 型號!! ": Exit Sub
If [F5] = "" Then MsgBox "沒有 入出庫單號!! ": Exit Sub
Set myRng = Sheets([F2].Value).Columns(3).Find([F5], LookAt:=xlWhole)
If myRng Is Nothing Then MsgBox "沒有符合條件的資料!": Exit Sub
Set myRng = Sheets([F2].Value).Cells(myRng.Row, 1)
Set myRng = myRng.Resize(, 7)
motoHani.Value = Application.Transpose(myRng)
End Sub
複製代碼
作者:
sheau-lan
時間:
2012-10-6 22:39
那如果要將指定資料刪除的程式應該是如何???
作者:
GBKEE
時間:
2012-10-7 09:18
回復
3#
sheau-lan
試試看
Option Explicit
Sub Ex()
查找 "查找" 'xlword 參數
查找 "刪除" 'xlword 參數
End Sub
Sub 查找(xlword As String) 'xlword 傳遞的參數 為 "查找" 或 "刪除"
Dim motoHani, myRng As Range
Set motoHani = [F3].Resize(7)
If IsError(Application.Match([F2], [B3:B8], 0)) Then MsgBox "沒有 型號!! ": Exit Sub
If [F5] = "" Then MsgBox "沒有 入出庫單號!! ": Exit Sub
Set myRng = Sheets([F2].Value).Columns(3).Find([F5], LookAt:=xlWhole)
If myRng Is Nothing Then MsgBox "沒有符合條件的資料!": Exit Sub
Set myRng = Sheets([F2].Value).Cells(myRng.Row, 1)
If xlword = "查找" Then 'xlword 傳遞的參數 為 "查找"
Set myRng = myRng.Resize(, 7)
motoHani.Value = Application.Transpose(myRng)
ElseIf xlword = "查找" Then 'xlword 傳遞的參數 為 "刪除"
myRng.Resize(, 7).Delete Shift:=xlUp '在這裡刪除資料
End If
End Sub
複製代碼
作者:
sheau-lan
時間:
2014-2-5 20:47
請問GBKEE大大
那如果要在輸入完畢後將以填在表單上的資料清除變成空白,以便輸入新的資料
應該怎麼做捏
作者:
GBKEE
時間:
2014-2-6 08:25
回復
5#
sheau-lan
最後加上
[F2].Resize(8) = ""
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)