gpt4 book ai didi

vba - 如何在文件夹中的所有(已关闭)Excel 文件上运行一个 VBA 宏?

转载 作者:行者123 更新时间:2023-12-04 22:04:57 25 4
gpt4 key购买 nike

  • Excel 2010

  • 一旦我自己打开带有原始测量值的文件,我就有一个宏,它对原始数据执行一些操作,即对其进行排序,删除一些内容,将一些内容复制到新工作表中。

    最后,它关闭原始数据文件(但不保存更改)并关闭、保存和重命名新创建的 Excel 文件,该文件是在所有排序、删除和复制后创建的宏。

    所以考虑到我只有这个宏文件(.xlsm)打开......

    如何在所述宏文件的同一文件夹中的所有 Excel 文件 (.xlsx) 上运行该宏?我不想一一打开它们并再次重新运行宏。

    我目前正在通过以下方式关闭打开的“原始”文件:
    ActiveWorkbook.Saved = True
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True

    不得不承认我不知道它们是否完全有意义,但它们有效。

    最佳答案

    它比您发布的链接更简单。
    见下文:

    Sub stantial()
    Dim myfiles, wb As Workbook, ws As Worksheet
    myfiles = Dir(Thisworkbook.Path & "\*.xlsx")
    Do While Len(myfiles) <> 0
    'Debug.Print myfiles
    '~~> open as readonly since you don't want to alter the original
    Set wb = Workbooks.Open(Thisworkbook.Path & "\" & myfiles, , True)
    '~~> Do your stuff here (edit, copy, sort etc...)
    wb.Close False
    Set wb = Nothing '~~> clean up
    myfiles = Dir
    Loop
    End Sub

    上面的代码检索所有扩展名为 .xlsx 的文件名,然后使用 Workbooks Open 方法打开它。打开文件后,您可以处理打开的工作簿对象并执行您的操作。在继续下一步之前,请关闭工作簿,清理变量。 HTH。

    关于vba - 如何在文件夹中的所有(已关闭)Excel 文件上运行一个 VBA 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25257998/

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