批量更新不同目录指定工作簿工作表单元格内容

2025-11-01 23:33:15

1、 新建一个Excel文件,按ALT+F11打开VBE编辑器,新建一个模块,粘贴如下代码:

Option Explicit

Sub 批量修改不同目录指定工作簿工作表单元格内容()

Dim d As Object, f, h, l, t As String, wb As Workbook, th As Workbook, i As Integer, shname As String

shname = "Sheet1" '此处设置需要更改的工作表名称,这里默认是sheet1

Application.ScreenUpdating = False

Application.DisplayAlerts = False

Set th = ThisWorkbook

gh:

h = InputBox("请输入类似1、2、3……65536", "请正确输入行坐标")

If h = "" Then Exit Sub

If h Like "*[!0-9]*" Or h > 65536 Then GoTo gh

gl:

l = InputBox("请输入类似A、B、C……IV", "请正确输入列坐标")

If l = "" Then Exit Sub

If l Like "*[!a-zA-Z]*" Or l Like "[a-zA-Z]*" = False Or _

                (l Like "[a-zA-Z]?" And l Like "?[a-vA-V]" = False) Then GoTo gl

t = InputBox("更新内容", "请输入内容")

Set d = Application.FileDialog(msoFileDialogFilePicker)

With Application.FileDialog(msoFileDialogFilePicker)

.AllowMultiSelect = True

.InitialFileName = ThisWorkbook.Path & "\"

.Title = "选择需要修改的Excel文件"

.InitialView = msoFileDialogViewDetails

.Filters.Add "Excel文件", "*.xls;*.xlsx", 1

.Show

If .Show Then

 For Each f In .SelectedItems

  If Dir(f) <> th.Name Then '判断是否为当前工作表

   Set wb = Workbooks.Open(f)

   For i = 1 To wb.Sheets.Count

    If wb.Sheets(i).Name = shname Then '判断是否存在指定的工作表

     wb.Sheets(i).Cells(h, l) = t

     wb.Save

    End If

   Next i

   wb.Close

  Else

   For i = 1 To th.Sheets.Count

   If th.Sheets(i).Name = shname Then th.Sheets(i).Cells(h, l) = t

   Next i

  End If

 Next

End If

End With

Set d = Nothing

Application.ScreenUpdating = True

Application.DisplayAlerts = True

End Sub

批量更新不同目录指定工作簿工作表单元格内容

2、 按ALT+F8,打开宏对话框,执行“批量修改不同目录指定工作簿工作表单元格内容”宏。

批量更新不同目录指定工作簿工作表单元格内容

3、 在弹出的“请正确输入行坐标”对话框中,假设输入2,点确定。

批量更新不同目录指定工作簿工作表单元格内容

4、 在弹出的“请正确输入列坐标”对话框中,假设输入B,点确定。

批量更新不同目录指定工作簿工作表单元格内容

5、 在弹出的“请输入内容”对话框中,假设输入:啊不错的风格hi,点确定。

批量更新不同目录指定工作簿工作表单元格内容

6、 在弹出的“选择需要修改的Excel文件”打开框中,选中需要修改的Excel文件,点确定。

批量更新不同目录指定工作簿工作表单元格内容

7、 最终的效果如下图:

批量更新不同目录指定工作簿工作表单元格内容

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢