Excel VBA库存排序

时间:2014-04-16 15:19:28

标签: excel vba

我试图让库存扫描过程变得有点简单。 我们扫描收到的货物。扫描程序向Excel发送一个字符串,如'XYZ123'。 我试图做的是,不是用户手动选择列,我喜欢excel将扫描的字符串发送到相应的列。 例如,我们说有3个可能的列'PO''Item''SN'

  • PO将以'XYZ'
  • 开头
  • Item将以'ABC'
  • 开头
  • SN'LMN'
  • 开头

如果扫描的值以'ABC'开头,则必须将其发送到'Item'列。

这可能吗?我尝试使用搜索,精确和其他一些公式,到目前为止没有任何工作。

谢谢,

1 个答案:

答案 0 :(得分:0)

Sub test_inventory_sorting()
  Dim v_arr(1 To 3) As String, v As Variant
  v_arr(1) = "XYZ1234"
  v_arr(2) = "LMN73456"
  v_arr(3) = "ABCzxcv"

  For Each v In v_arr
    Debug.Print v; " goes to "; get_col(CStr(v))
  Next v
End Sub
Function get_col(ByVal p_val As String) As String
  If p_val Like "ABC*" Then
    get_col = "SN"
  ElseIf p_val Like "LMN*" Then
    get_col = "Item"
  ElseIf p_val Like "XYZ*" Then
    get_col = "PO"
  Else
    get_col = "Invalid"
  End If
End Function