我需要帮助创建一个宏来清理包含产品销售信息(包括需要使用的送货方式)的csv表。我们的产品中有大约10种无法通过我们通常的运输方式发送,我需要覆盖分配给包含这些产品的订单的运输方式。
如果有人在一个订单中购买了多个产品,则订单号在下一行中重复出现,则出货方式仅在第一行显示该订单号,并且以相同顺序购买的每个连续产品仅添加一个新行B栏中的产品名称
我需要使用VBA来检查B列中10个左右的特定产品的列表,并更新整个订单的发货方式(C列中最高的单元格在单元格A中具有相同的值),如果它包含这10种产品中的一种。
我认为它需要做这样的事情:
我需要在循环中使用它,以便它为电子表格中B列中的每个搜索字符串实例执行此操作。
我希望这个问题很明确,我已经搜索过了,无法找到这个问题的答案。欢迎任何帮助或替代修复。
答案 0 :(得分:0)
根据以下屏幕截图中的设置和结果,尝试以下代码:
Sub test()
Dim pRange As Range
Dim nShip As Range
Set pRange = Range("E2")
pRange.Select
While ActiveCell.Value <> ""
Range("B2").Select
While ActiveCell.Value <> ""
If ActiveCell.Offset(0, -1).Value <> ActiveCell.Offset(-1, -1).Value Then
Set nShip = ActiveCell.Offset(0, 1)
End If
If ActiveCell.Value = pRange.Value Then
nShip.Value = pRange.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
Set pRange = pRange.Offset(1, 0)
pRange.Select
Wend
End Sub
开始清单:
宏之后的结果: