小编Adr*_*all的帖子

VBA宏可以批量更新同一位置的多个文件

这是非常新的所以请帮忙.我试图批量更新静态文件夹位置的文件,一个文件夹中的许多文件.

我想做的是

  • 在Excel 2010中运行VBA宏以转到网络位置文件夹,
  • 打开文件夹中的第一个文件.
  • 取消对工作簿的保护,工作表调用另一个marco来运行更改
  • 然后保护工作表关闭文件
  • 然后移动到文件夹中的下一个文件,直到所有文件都已更正.

我创建了marco进行更改,这称为"编辑"

文件类型是xlsm,工作簿和工作表受密码保护我如何自动运行宏来转到网络位置并串行打开每个文件,取消保护,调用宏,然后重新保护文档关闭文件并移动到下一个文件直到它们全部更新.

Sub Auto_open_change()

Dim WrkBook As Workbook
Dim StrFileName As String
Dim FileLocnStr As String
Dim LAARNmeWrkbk As String

PERNmeWrkbk = ThisWorkbook.Name
StrFileName = "*.xlsx"
FileLocnStr = ThisWorkbook.Path
Workbooks.Open (FileLocnStr & "\" & StrFileName)
Workbooks(StrFileName).Activate

With Application.FindFile
SearchSubFolders = False
LookIn = "Network location"
Filename = "*.xlsm"
If .Execute > 0 Then
    Debug.Print "There were " & .FoundFiles.Count & " file(s) found."
    For i = 1 To .FoundFiles.Count
        WrkBook = Workbooks.Open(Filename:=.FoundFiles(i)) …
Run Code Online (Sandbox Code Playgroud)

excel vba

5
推荐指数
1
解决办法
1万
查看次数

Excel 2010 VBA宏可以更改另一个文件中模块的内容

我已经开发了一个宏来批量更新文件位置中的文件.我使用以下代码,它完美地工作,但是脚本的编辑部分需要更改每个文件中的VBA模块,以使调用编辑宏中的更改生效.如何在执行批量文件更新时批量更新模块内容.

Sub Auto_open_change()

    Dim WrkBook As Workbook
    Dim StrFileName As String
    Dim FileLocnStr As String
    Dim LAARNmeWrkbk As String

    PERNmeWrkbk = ThisWorkbook.Name


    FileLocnStr = "C:\Users\gornalla\Desktop\PER Update" 'ThisWorkbook.Path

    Dim StrFile As String
    StrFile = Dir(FileLocnStr & "\*.xlsm")
    Do While Len(StrFile) > 0
        DoStuff (FileLocnStr & "\" & StrFile)
        StrFile = Dir
    Loop

End Sub

Private Sub DoStuff(StrFileName)

    Workbooks.Open (StrFileName)
    'Workbooks(StrFileName).Activate
    ActiveSheet.Unprotect ("147258369")
    Sheets("Property Evaluation Report").Select
    ActiveSheet.Unprotect ("147258369")

        Call Edit

    ActiveWorkbook.RefreshAll
    Sheets("Property Evaluation Report").Select
    ActiveSheet.Protect Password:="147258369", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowUsingPivotTables:=True
    ActiveWorkbook.Close

    Application.SendKeys …
Run Code Online (Sandbox Code Playgroud)

excel vba module excel-vba

3
推荐指数
1
解决办法
1万
查看次数

删除工作表并使用相同的工作表名称重新创建

我目前正在尝试删除工作表并自动创建一个具有相同名称的新工作表.

我正在使用以下代码.但是,当我运行代码时,弹出的窗口出现,要求我确认删除,我想阻止这一点,只需删除并替换为新的工作表.我想避免发送密钥.

ThisWorkbook.Sheets("Process Map").delete
ThisWorkbook.Sheets.Add.Name = "Process Map"
Run Code Online (Sandbox Code Playgroud)

excel vba add worksheet excel-vba

2
推荐指数
1
解决办法
9773
查看次数

标签 统计

excel ×3

vba ×3

excel-vba ×2

add ×1

module ×1

worksheet ×1