gpt4 book ai didi

vba - Excel VBA : Copy two columns in a different file

转载 作者:行者123 更新时间:2023-12-04 20:55:18 39 4
gpt4 key购买 nike

我对 VBA 比较陌生,有几个问题。

最后,我的代码应该将不同文件中的数据复制到主数据表中。

我不知道不同文件的不同名称(这已经涵盖),因为每隔一段时间就会有新的生成数据。所有这些文件都是xlsx .

我唯一缺少的是我的代码从“a18 - a 列结尾”和“b18 - b 列结尾”范围内的不同文件中复制数据。在列的末尾,我的意思是没有数据了。

不幸的是,我不知道如何复制它以及如何将所有不同工作表中的所有数据存储到我的主工作表中而不覆盖数据。

代码:

Sub CopyData()
Dim strFile As String, strPath As String, strType As String
Dim wbX As Workbook, wksX As Worksheet, wksN As Worksheet
Dim lngCount As Long
Application.ScreenUpdating = False
strPath = "C:\..."
strType = "xlsx"
Set wksN = ThisWorkbook.Sheets(1)
lngCount = 1
wksN.Range(wksN.Rows(lngCount), wksN.Rows(wksN.UsedRange.Rows.Count + lngCount)).Delete

strFile = Dir(strPath & "\*." & strType)
Do Until strFile = ""
'Debug.Print (strFile)
Set wbX = Workbooks.Open(strPath & "\" & strFile)
Set wksX = wbX.Sheets(1)
wksN.Cells(lngCount, 1) = wksX.Cells(1, 1)
lngCount = lngCount + 1
wbX.Close False
strFile = Dir
Loop
Application.ScreenUpdating = True
wksN.SaveAs Filename:="Main"
End Sub

目前,我的代码从我的文件夹中的所有 xlsx 文件中复制所有 a1 单元格,并将内容粘贴到另一个下方。

最佳答案

下面的代码打开目标文件夹中的每个文件并将其合并为一个,

代码:

Sub simpleXlsMerger()
Dim bookList As Workbook
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Application.ScreenUpdating = False
Set mergeObj = CreateObject("Scripting.FileSystemObject")
Set dirObj = mergeObj.Getfolder("\\C:\ update the target folder")
Set filesObj = dirObj.Files
'Here it will open each and every file in the target folder
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)
Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy
ThisWorkbook.Worksheets(1).Activate
' Paste it in the Macro sheet's non empty row
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
bookList.Close
Next
End Sub

比你

关于vba - Excel VBA : Copy two columns in a different file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49252661/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com