返回列表 上一主題 發帖

[發問] 想利用excel及圖書館哪種條碼機紀錄學生到學校時間

回復 3# kkman123
據了解條碼機讀入的資料是顯示在作用中的儲存格內
以此邏輯則必須將讀取條碼時直接點選該儲存格後再刷條碼
所以,就將檔案開啟時指定某一特定儲存格作為讀取使用(任何學號均讀入該儲存格)
然後利用工作表Change事件程序觸動,把該儲存格資料寫入對應位置
學海無涯_不恥下問

TOP

回復 10# kkman123
假設刷條碼的資料會寫入IV1
就利用IV1產生變化時在對應位置寫入時間
在該工作表模組程式碼
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. t = Time
  3. Application.EnableEvents = False
  4. If Target.Address <> "$IV$1" Then _
  5. MsgBox "刷卡位置錯誤;請重新刷卡": Target.ClearContents: [IV1].Select: _
  6. Application.EnableEvents = True: Exit Sub
  7. r = Application.Match(CDbl(Date), Columns("A"), 0)
  8. k = Application.Match(Target, Rows(1), 0)
  9. Cells(r, k) = t
  10. Application.EnableEvents = True
  11. End Sub
複製代碼
play.gif
打卡.rar (8.55 KB)
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2012-11-28 21:59 編輯

回復 16# die78325
利用工作表函數MATCH找出對應的欄列位置
CDbl(Date)是因為工作表內的日期還是被認為數値所以轉成數値後才能正確找到日期位置
學海無涯_不恥下問

TOP

回復 18# kkman123


    可以上傳檔案以便了解錯誤出在哪裡
學海無涯_不恥下問

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題