excel 宏 删除一个文件夹下多个excel第一个sheet的前三行

71 阅读1分钟
Sub DeleteRowsFromFirstSheetInFolder()
    Dim folderPath As String
    Dim fileName As String
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim i As Integer
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object

    ' 设置文件夹路径
    folderPath = "F:\两项补贴\1"  ' 替换为你的文件夹路径

    ' 创建文件系统对象
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(folderPath)

    ' 遍历文件夹中的每个文件
    For Each objFile In objFolder.Files
        ' 检查文件是否为Excel文件
        If LCase(Right(objFile.Name, 4)) = ".xls" Or LCase(Right(objFile.Name, 5)) = ".xlsx" Then
            ' 打开工作簿
            Set wb = Workbooks.Open(objFile.Path)
            
            ' 获取第一个工作表
            Set ws = wb.Sheets(1)
            
            ' 删除前三行
            For i = 1 To 3
                ws.Rows(1).Delete
            Next i
            
            ' 保存并关闭工作簿
            wb.Close SaveChanges:=True
        End If
    Next objFile

    ' 释放对象
    Set objFolder = Nothing
    Set objFile = Nothing
    Set objFSO = Nothing
End Sub