返回列表 上一主題 發帖

[發問] 請問如何讓儲存格輸入5碼數字後,自動跳下一格

[發問] 請問如何讓儲存格輸入5碼數字後,自動跳下一格

請問各位大師,如何讓EXCEL  VBA自動判斷,在儲存格輸入5碼數字之後,可以自動跳到下一格呢?例如,A1輸入任意五位數之後,自動跳轉到A2,可以不用自己按enter鍵,拜託各位大師指導,謝謝您

儲存格沒有這功能~~
未按ENTER前, 什麼都不成立~~

TOP

准大說得對, 退一步方法, 按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
複製代碼

zz.zip (12.8 KB)

TOP

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

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

TOP

回復 4# kaui700


    印象中掃描器可以設定掃完條碼後自動輸入enter,
    可以去看看說明書能否設定。

TOP

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

TOP

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



   謝謝准大的指導

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題