接上月的內容,管理系統最主要的功能是可以做各種需要的資料查詢,如果發現輸入的資料有問題,就會需要做資料修改。同樣的操作介面,我們今天來做資料修改的程式,近期都會有網友提出討論,若有問題,我們持續做進一步的探討,還是一樣,可以私訊、文章下留言、MAIL或SKYPE等,希望更多有興趣的朋友加入:
Sub 工程的資料修改()
Application.ScreenUpdating = False
Dim Message, Title, Default, CheckSame
Dim i, j, k, ir, ic As Long
Dim m0, cif, last As Long
Dim rsf, rc, rs, rt As Long
Dim y, m, d1, d2, n, s, t As Variant
Dim d As Date
Dim r As Long
Sheets("工程").Select
ActiveSheet.Unprotect Password:="*****"
Cells(1, "N") = "資料修改"
s = Cells(22, "G")
m0 = Cells(2, "G")
If s = "" Then
MsgBox "請先查詢資料!"
Else
If m0 < 1 Then
MsgBox "資料庫無 ( " & s & " ) 的工程單號資料!"
Else
If Cells(23, "G") <> Cells(2, "R") Then
MsgBox "工程名稱不可修改!"
Else
If Cells(23, "I") = "" Then
MsgBox "客戶編號須有資料!"
Else
r = MsgBox("要修改 ( " & s & " ) 的資料?", _
vbQuestion + vbOKCancel, "確認進行修改")
If r = vbOK Then
Sheets("工程資料").Visible = True
Sheets("工程").Select
'如果使用函數導至K欄
Range("Q1:Q6").Copy
Sheets("工程資料").Select
Cells(m0, "A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
Sheets("工程資料").Visible = xlVeryHidden
'以預設範圍複製貼上,使用者可能從別處貼過來,復原
Sheets("工程").Select
Range("E7:J10").Copy
Range("E22").Select
ActiveSheet.Paste
Cells(2, "N") = "資料修改"
MsgBox s & " 資料已修改!"
Else
MsgBox "修改取消", _
vbInformation + vbOKOnly, "使用者取消修改動作"
End If
End If
End If
End If
End If
Sheets("工程").Select
Application.CutCopyMode = False
ActiveSheet.Protect Password:="*****"
Range("A3").Select
End Sub
沒有留言:
張貼留言