Board logo

標題: 條碼輸入問題 [打印本頁]

作者: baa168    時間: 2011-10-18 19:06     標題: 條碼輸入問題

請教各位先進:
     baa使用barcode reader將條碼資料掃至excel D欄內,資料是掃進去也顯示在C欄了..但是
        卻無法在B欄顯示今天日期,C欄顯示輸入時間,
        使用鍵盤KEYIN方式則可以達成需求....
     不知是否為欄位格式設定有誤亦或是其它問題,還請各位先進協助...

程式碼如下:
Private Sub worksheet_change(ByVal Target As Range)
       On Error GoTo errhander
    If Target.Column <> 4 Then Exit Sub
    If Target.Offset(, 1) <> "" Then
       Target.Offset(, -1) = Time
       Target.Offset(, -2) = Date
       End If
       Exit Sub
errhander:
   End Sub
作者: Hsieh    時間: 2011-10-18 19:45

回復 1# baa168


    改用Worksheet_Calculate事件試試看
作者: oobird    時間: 2011-10-18 19:59

輸入條碼因沒有enter的動作,worksheet_change事件無法響應。
找個偏僻的儲存格輸入公式:=counta(a:e)
這樣只有a:e的儲存格內容有增減都會觸發Worksheet_Calculate事件。
用Worksheet_Calculate事件就可得到響應了。
作者: baa168    時間: 2011-10-23 08:16

無法使用Worksheet_Calculate
不知是否為使用方法錯誤

Private Sub Worksheet_Calculate(ByVal Target As Range)

On Error GoTo errhander
    If Target.Column <> 4 Then Exit Sub
    If Target.Offset(, 1) <> "" Then
       Target.Offset(, -1) = Time
       Target.Offset(, -2) = Date
       End If
       Exit Sub
errhander:

End Sub
作者: oobird    時間: 2011-10-23 08:58

ByVal Target As Range~刪掉
底下的Target都換成activecell
作者: fyo00241    時間: 2011-10-28 22:53

感謝各位先進分享..學習中...
作者: baa168    時間: 2011-11-6 11:57

Baa 最後是使用
Private Sub worksheet_change(ByVal Target As Range)
    On Error GoTo errhander
    If Target.Column <> 4 Then Exit Sub
    If Target.Offset(, 0) <> "" Then
       Target.Offset(, -1) = Time
       Target.Offset(, -2) = Date
       End If
       Exit Sub
errhander:
End Sub
其實也不知道為什麼突然可以了說....
作者: luhpro    時間: 2011-11-6 21:29

本帖最後由 luhpro 於 2011-11-6 21:30 編輯

回復 7# baa168
這篇程式內容與首篇比較後發現只差一行字 :
If Target.Offset(, 1) <> "" Then
變成
If Target.Offset(, 0) <> "" Then
我是否可以理解成問題癥結在於你首篇中程式的觸發條件差了一個儲存格的位移,
導致於沒能正確的被觸發...
作者: baa168    時間: 2011-11-7 13:13

對內...真是高手來的....感謝解答




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