VBA进阶 | Dictionary对象应用大全8:示例(续1)
示例5:合并记录
工作表列
A中的记录的键,列
B是记录的数据内容;列
E包含列
A中的键,列
F包含要附加的内容。下面的代码合并以上
4列中的数据为键和相应的记录内容:
SubRecordsAppend()
Dim sn, sp, st, j
sn= Sheets("Sheet4").Cells(1).CurrentRegion.Resize(, 3)
sp= Sheets("sheet4").Cells(1, 5).CurrentRegion
WithCreateObject("scripting.dictionary")
For j = 1 To UBound(sn)
.Item(sn(j, 1)) = Application.Index(sn,j, 0)
Next
For j = 1 To UBound(sp)
st= .Item(sp(j, 1))
st(3)= sp(j, 2)
.Item(sn(j, 1)) =Application.Index(st, 0, 0)
Next
Sheets("Sheet4").Cells(1,10).Resize(.Count, UBound(sn, 2)) = Application.Index(.Items, 0, 0)
End With
EndSub
示例6:合并工作表
下面的代码将工作簿中的所有工作表按顺序合并到名为
total的工作表中:
SubIntegrationSheets()
Dim sh, it
WithCreateObject("scripting.dictionary")
For Each sh In Sheets
.Item(sh.Name) = sh.UsedRange
Next
Sheets.Add.Name ="total"
For Each it In .Items
Sheets("total").Cells(Rows.Count,1).End(xlUp).Offset(1).Resize(UBound(it), UBound(it, 2)) = it
Next
End With
EndSub
示例7:合并CSV文件
SubIntegratieCSV()
Dim sn, j, it
sn=Split(CreateObject("wscript.shell").exec("cmd/c Dir ""G:\OF\*.csv"" /b").StdOut.ReadAll, vbCrLf)
WithCreateObject("scripting.dictionary")
For j = 0 To UBound(sn)
.Item(sn(j)) =GetObject("G:\OF\" &sn(j)).Sheets(1).UsedRange.Value
GetObject("G:\OF\"&sn(j)).Close False
Next
Sheets.Add.Name ="total"
For Each it In .Items
Sheets("total").Cells(Rows.Count,1).End(xlUp).Offset(1).Resize(UBound(it),UBound(it,2)) = it
Next
End With
EndSub
本文属原创文章,转载请注明出处。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎关注
[
完美
Excel
]
微信公众号:
方法
1
—在微信通讯录中搜索“
完美
Excel
”或者“
excelperfect
”后点击关注。
方法
2
—扫一扫下面的二维码
- 股市进阶之道,为什么傻瓜投资法如此有效
- 新春福利2:《Excel VBA解读 基础入门篇》电子书分享
- 【乒乓教学】乒乓球基本功定型进阶之路
- 港股进阶课程(三)
- 绝地求生刺激战场:4个小技巧教你快速入门成为进阶玩家!
- 绝地求生技巧进阶,各类枪械配件分析,了解这些细节助你轻松吃鸡
- 进阶篇:多肉暖棚多肉的“秋裤”
- VBA进阶 | Dictionary对象应用大全10:示例(续3)
- 【安全生产】开发区召开烟花爆竹禁放工作全面推进阶段管控工作动
- VBA进阶 | Dictionary对象应用大全9:示例(续2)