這個是在論壇學習到的程式,但是如果A2資料錯誤,程式就不能執行,請問要怎麼修改?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rTar As Range ' 填資料標的儲存格A欄
With Target
If .Address = "$A$2" Then
lRow = dShi(.Text)
Application.EnableEvents = False ' 變更資料中,關閉觸發Change程序'dShi(CStr(.Cells(lRow, 8))) = lRo
.Offset(, 1) = shDat.Cells(lRow, 2) ' B2
.Offset(, 2) = shDat.Cells(lRow, 9) ' c2
.Offset(, 3) = shDat.Cells(lRow, 8)
.Offset(, 4) = shDat.Cells(lRow, 6)
.Offset(, 5) = shDat.Cells(lRow, 7)
.Offset(, 6) = shDat.Cells(lRow, 1)
.Offset(, 7) = shDat.Cells(lRow, 16)
.Offset(, 8) = shDat.Cells(lRow, 17)
.Offset(, 9) = shDat.Cells(lRow, 18)
.Offset(, 10) = shDat.Cells(lRow, 19)
.Offset(, 11) = shDat.Cells(lRow, 20)
lShrRow = lShrRow + 1
Set rTar = shShr.Cells(lShrRow, 1) ' [A末筆欄數]
' 其餘請自行調整填入
Application.EnableEvents = True ' 資料變更完畢,恢復可觸發Change程序
End If
End With
End Sub |