我很失败VBScript中的新特性,我想从多个Excel表格(Source_1.xlsx,Source_2.xlsx)复制特定列(比如C列) ,和Source_3.xlsx)。并将其粘贴到另一个Excel表格Dest.xlsx的列A中。该列应该没有重复值。任何帮助,将不胜感激。将多个excel文件中的特定列复制到另一个excel文件的单个列中
0
A
回答
0
首先,您需要创建excel对象,假设文件相同,并且在最后使用递增的整数,则可以遍历每个excel对象。在迭代时,您可以调用与const相同的列,并复制到新文件名。当你开始有一些代码,报告回来了,它可以进一步
for i to x
filename = "scen_"& i & ".xlsx"
copyfilename = "copytohere.xlsx"
'set up the object
for rowstart to rowend
'get contents of x column
'copy contents to copyfilename excel doc
Loop
loop
由于被加工
0
Const xlFilterCopy = 2
Const xlUp = -4162
Const xlDown = -4121
strPathSrc = "C:\Test" ' Source files folder
strMaskSrc = "Source_*.xlsx" ' Source files filter mask
iSheetSrc = 1 ' Sourse sheet index or name
iColSrc = 3 ' Source column index, e. g. 3 for "C"
strPathDst = "C:\Test\Dest.xlsx" ' Destination file
iColDst = 1 ' Destination column index
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkBookDst = objExcel.Workbooks.Open(strPathDst)
Set objSheetTmp = objWorkBookDst.Worksheets.Add
objSheetTmp.Cells(1, iColDst).Value = "TempHeader"
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace(strPathSrc)
Set objItems = objFolder.Items()
objItems.Filter 64 + 128, strMaskSrc
objExcel.DisplayAlerts = False
For Each objItem In objItems
Set objWorkBookSrc = objExcel.Workbooks.Open(objItem.Path)
Set objSheetSrc = objWorkBookSrc.Sheets(iSheetSrc)
objSheetSrc.Cells(1, iColSrc).Insert xlDown
objSheetSrc.Cells(1, iColSrc).Value = "TempHeader"
Set objRangeSrc = GetRange(iColSrc, objSheetSrc)
If objRangeSrc.Cells.Count > 1 then
nNextRow = GetRange(iColDst, objSheetTmp).Rows.Count + 1
objRangeSrc.AdvancedFilter xlFilterCopy, , objSheetTmp.Cells(nNextRow, iColDst), True
objSheetTmp.Cells(nNextRow, iColDst).Delete xlUp
Set objRangeTmp = GetRange(iColDst, objSheetTmp)
Set objSheetDst = objWorkBookDst.Worksheets.Add
objRangeTmp.AdvancedFilter xlFilterCopy, , objSheetDst.Cells(1, iColDst), True
objSheetTmp.Delete
Set objSheetTmp = objSheetDst
End If
objWorkBookSrc.Close
Next
objSheetTmp.Cells(1, iColDst).Delete xlUp
objExcel.DisplayAlerts = True
Function GetRange(iColumn, objSheet)
With objSheet
Set GetRange = .Range(.Cells(1, iColumn), .Cells(.Cells(.Cells.Rows.Count, iColumn).End(xlUp).Row, iColumn))
End With
End Function
相关问题
- 1. 复制多个excel文件中的列并粘贴到一个主文件中
- 2. 将一个excel文件内容复制到另一个excel文件的末尾
- 3. 复制多个文本文件的特定行到Excel文件
- 4. 自动将数据从一个Excel文件复制到另一个Excel文件
- 5. 将一列数据从Excel文件复制到另一个文件
- 6. 多个Excel列到两列的文件
- 7. 如何从一个excel文件复制单元格值并将其粘贴到另一个excel文件中?
- 8. 从一个文本文件复制一个特定的列到另一个
- 9. 如何使用vba将列从一个excel文件复制到另一个
- 10. 将excel文件列表合并到一个新的excel书中
- 11. 到多个文本文件的VBA Excel-导出特定列
- 12. 使用Python编写一个Excel文件,其中包含从另一个Excel文件复制的列
- 13. 复制多个excel文件中的列数据并将其粘贴到新的excel文件中
- 14. 从一个Excel文件复制到另一个宏的宏
- 15. VBA - 从多个Excel文件复制并粘贴到单个Excel文件
- 16. 将数据从多个excel文件提取到excel 2007的单个excel文件
- 17. 想要的多个Excel文件每一页的第一行复制到另一个Excel文件
- 18. Excel宏将行从一个文件复制到另一个文件
- 19. Excel VBA - 如何有效地将多个单元格从一个文件复制到另一个文件?
- 20. excel vba将多个列复制到另一个工作表到一列
- 21. 将一列从txt文件复制到Excel文件中的一列,Python
- 22. Excel VBA:将excel列从一个文件复制到其他同名文件(不同文件夹中)
- 23. 读取目录中的多个excel文件并将特定的单元格值写入另一个excel表格
- 24. 将特定列从一个Excel电子表格复制到另一个C#
- 25. 将文件夹中的文件列表复制到另一个文件夹
- 26. Python:将一列中的多个文件复制到多列中的一个文件中
- 27. 如何将单个文件中的特定列重复替换为另一个文件的列?
- 28. VBA代码将多个文件复制到单个指定的Excel表
- 29. 如何使用matlab将多个excel文件导入到一个excel文件中?
- 30. VBA从Excel的文件中的列复制到另一个在第一个空列