|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 yaozhaoze 于 2024-1-12 10:58 编辑
各位老师好:
请帮忙编写VBA 数据获取,详细说明见附件。谢谢
VBA 编写代码 从A表取数到B表,取数过程需要一部分数据处理,A标签数据不是固定的经常变动,B表需要根据C表关系条件、以及A表数据源,运行VAB自动转换,数据大概A表5000行左右,每次数据都不一样。
1.根据B表 A列(包装号* )获取方式:根据B列(送货单号*)相同数值自动次序编号,首行编号为:1001:每增加1行加1; 如果A列 (送货单号*) 和上一行数值不一样从新从10001开始编号.
2.根据B表 B列(送货单号* ) 获取方式:根据B表H列数值到C表查询,把查询结果反馈到B表 B列 相应的行。
3.根据B表 C列 (送货单行* )获取方式:为了说明清楚我在A表列增加辅助列,根据A列(送货单号*)相同数值自动次序编号,首行编号为:00001:每增加1行加1; 如果A列 (送货单号*) 和上一行数值不一样从新从00001开始编号.结果反馈到B表 C列 相应的行.
4.根据B表 D列(物料* ) 获取方式:直接从A表D列获取。
5.根据B表 F列 (数量* )获取方式:直接从A表N列获取。
6.根据B表 G列 (单位)获取方式:直接从A表M列获取。
7.根据B表 H列 (包装描述)获取方式:直接从A表B列获取。
8. A表O 列 数值是在B表增加几行。(红框为示范:A表O列(Ind.L.Qty ):数值3,B表3行)
9.功能2.【B表 B列 (送货单号*】字段不一样分割文件并且命名【B表 B列 (送货单号*】字段一致,分割每个文件都标题行.十分感谢各位老师帮忙.参考一下代码。谢谢
Dim Arr, i&, wb As Workbook, nm1$
Dim d, k, t, j&, aa
Application.ScreenUpdating = False
Set d = CreateObject("Scripting.Dictionary")
Set wb = ThisWorkbook
Sheet3.Activate
Arr = [a1].CurrentRegion
For i = 2 To UBound(Arr)
d(Arr(i, 8)) = d(Arr(i, 8)) & i & ","
Next
k = d.keys: t = d.items
For i = 0 To UBound(k)
nm1 = k(i)
Workbooks.Add
With ActiveWorkbook
With .Sheets(1)
.Cells.NumberFormatLocal = "@"
.Select
.[a1].Resize(1, UBound(Arr, 2)) = Application.Index(Arr, 1, 0)
t(i) = Left(t(i), Len(t(i)) - 1)
If InStr(t(i), ",") Then
aa = Split(t(i), ",")
For j = 0 To UBound(aa)
.Cells(j + 2, 1).Resize(1, UBound(Arr, 2)) = Application.Index(Arr, aa(j), 0)
Next
Else
.Cells(j + 2, 1).Resize(1, UBound(Arr, 2)) = Application.Index(Arr, t(i), 0)
End If
.Cells.EntireColumn.AutoFit
End With
.SaveAs ThisWorkbook.Path & "\" & nm1 & ".xls", 18
.Close
j = 0
End With
Next
Application.ScreenUpdating = True
End Sub
|
|