Board logo

標題: [發問] 請問如何讓儲存格輸入5碼數字後,自動跳下一格 [打印本頁]

作者: kaui700    時間: 2020-3-17 22:24     標題: 請問如何讓儲存格輸入5碼數字後,自動跳下一格

請問各位大師,如何讓EXCEL  VBA自動判斷,在儲存格輸入5碼數字之後,可以自動跳到下一格呢?例如,A1輸入任意五位數之後,自動跳轉到A2,可以不用自己按enter鍵,拜託各位大師指導,謝謝您
作者: 准提部林    時間: 2020-3-19 13:59

儲存格沒有這功能~~
未按ENTER前, 什麼都不成立~~
作者: ikboy    時間: 2020-3-19 15:02

准大說得對, 退一步方法, 按ENTER後處理分割。
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Cells.Count > 1 Then Exit Sub
  3. Dim s$, a
  4. Application.EnableEvents = 0
  5. Application.ScreenUpdating = 0
  6. s = Target.Value
  7. With CreateObject("vbscript.regexp")
  8.     .Pattern = "(.{5})"
  9.     .Global = True
  10.     a = Split(.Replace(s, "$1" & Chr(10)), Chr(10))
  11.     Target.Resize(UBound(a) + 1) = Application.Transpose(a)
  12.     Target.Offset(UBound(a) + 1).Activate
  13. End With
  14. Application.EnableEvents = 1
  15. Application.ScreenUpdating = 1
  16. End Sub
複製代碼

作者: kaui700    時間: 2020-3-19 20:14

准大說得對, 退一步方法, 按ENTER後處理分割。
ikboy 發表於 2020-3-19 15:02

謝謝准大跟ikboy大大的指點,我的描述有誤,我主要的目的是想要了解如何利用掃描器掃描條碼之後,可以在掃描結束,就跳到下一格,達到快速掃描的結果,我先用ikboy大指導的方式試看看,謝謝您
作者: cucu    時間: 2020-3-19 23:06

回復 4# kaui700


    印象中掃描器可以設定掃完條碼後自動輸入enter,
    可以去看看說明書能否設定。
作者: 准提部林    時間: 2020-3-20 11:36

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
     If .Column <> 1 Or .Count > 1 Then Exit Sub
     If .Value <> "" Then .Cells(2, 1).Select
End With
End Sub
作者: kaui700    時間: 2020-3-21 21:24

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
     If .Column  1 Or .Count > 1 T ...
准提部林 發表於 2020-3-20 11:36



   謝謝准大的指導




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