2013-05-31 54 views
-2

我有一個條形碼掃描儀的USB插頭&發揮它在這種形式給數據的字符串在Excel的一個單元4449520450061198001 我想在不同的單元,每次自動分割該數據我的掃描儀讀取代碼。 請幫忙。拆分數據到MS Excel中不同的細胞

問候,

+0

你嘗試過什麼嗎?你需要在一個單獨的單元格中的每個數字?條形碼的長度都一樣嗎? –

+0

所以你需要將代碼連接到一個事件? http://stackoverflow.com/questions/409434/automatically-execute-an-excel-macro-on-a-cell-change如果掃描儀作爲一個楔子,它會在代碼的末尾添加一個新行嗎? –

+0

是的。我想讓宏由一個事件來運行。但我該怎麼做?每次我掃描新項目時,字符串會自動下到下一個單元格。例如從A1然後是A2。 – user2439366

回答

2

修訂

Option Explicit 
Private Sub Worksheet_Change(ByVal Target As Range) 
    Const ws_range = "A1:A10" 

    Dim wb As Workbook 
    Dim ws As Worksheet 
    Dim i As Integer, k As Integer 
    Dim codestr As String 

    Set wb = ThisWorkbook 
    Set ws = wb.Sheets("Sheet1") 

    codestr = Target.Text 
    If Target <> "" Then 
     If Not Intersect(Target, Me.Range(ws_range)) Is Nothing Then 
      With Target 
       k = Len(codestr) 
       i = 2 
       Do Until i = k + 2 
        ws.Cells(Target.Row, i).Value = Mid(codestr, i - 1, 1) 
        i = i + 1 
       Loop 
      End With 
     End If 
    End If 

End Sub 

我還沒有完全測試這一點,但現在的值插入列後,它將被分裂成細胞的權利。顯然修改A1:A10以匹配你所需要的。

+0

嗨, 感謝您的回覆 我瞭解代碼其工作正常,但我怎麼能自動運行? 我希望這些值進入單元格,每次我的掃描儀自動讀取條形碼時不按任何按鈕。 這可能嗎? 關心, – user2439366