除了几周前撰写了一个将数据时间戳添加到生产线上扫描的条形码的函数外,我在Excel VBA编程方面没有任何经验,主要是通过试错。
无论如何,我现在需要帮助的是库存管理即将展开,我们拥有的每个物品都有一个条形码,通常会被扫描到记事本中然后手动导入Excel,并使用“文本分列”功能。我发现了Excel的拆分函数,并希望能得到一点帮助,让它能够处理我的扫描条形码。
数据以以下格式呈现:11111*A153333*11/30/11并附带回车换行符,其中*为分隔符。但我找到的所有示例似乎都没有起到任何作用。
例如,这里是一个在“ ”处分割的示例,但如果我将其更改为*,则什么也不会发生。
Sub splitText()
'splits Text active cell using * char as separator
Dim splitVals As Variant
Dim totalVals As Long
splitVals = Split(ActiveCell.Value, "*")
totalVals = UBound(splitVals)
Range(Cells(ActiveCell.Row, ActiveCell.Column + 1), Cells(ActiveCell.Row, ActiveCell.Column + 1 + totalVals)).Value = splitVals
End Sub
这应用于Sheet1代码部分,如果有帮助的话。
真的不可能这么复杂,对吗?
编辑:尝试在VBA中添加Vlookup。
所以我在下面的评论中说过,我现在正在努力将vlookup集成到这个中,但它只返回N/A。
这是我根据下面的链接编写的子程序。
Public Sub vlook(ByRef codeCell As Range)
Dim result As String
Dim source As Worksheet
Dim destination As Worksheet
Set destination = ActiveWorkbook.Sheets("Inventory")
Set source = ActiveWorkbook.Sheets("Descriptions")
result = [Vlookup(destination!(codeCell.Row, D), source!A2:B1397, 2, FALSE)]
End Sub
在工作表更改的For循环后,我正在尝试立即调用它,只是创建了另一个For循环,这应该是嵌套的for循环吗?