使用宏将冻结应用于excel文件中的文件夹中的多个文件

时间:2020-08-19 19:08:45

标签: excel vba

我有一个文件夹,该文件夹每天将接收30个文件,并且该文件包含多个工作表,并且在这些工作表中,某些标头以行1开始,某些标头以行5开始。我需要根据行标头名称应用冻结需要从文件夹外部运行宏。 应用冻结后,我需要自动执行将文件发送到客户端的过程。

我在下面尝试过但出现错误

“类型不匹配的souceVBAProject”

Sub FreezePanes()

Call freeze("*.xlsx", "no")
End Sub

Sub freeze(fileName As String, hide As String)

Dim path As String
Dim srcFile As String

On Error GoTo ErrorHandler
 path = "C:\Users\RadhaRani\Desktop\Excel\"
 srcFile = fileName

Application.ScreenUpdating = False
Dim rng As Range
Dim wks As Workbook
Set wks = Workbooks.Open(path + srcFile)

Set wks = Application.ActiveSheet
For Each ws In Worksheets
    ws.Select
    Set rng = ActiveCell
    Range("A5").Select '<== set Freeze point here
    ActiveWindow.FreezePanes = True
    rng.Select
Next
wks.Select

ActiveWorkbook.Save
    
wks.Close
Set wks = Nothing

1 个答案:

答案 0 :(得分:0)

'如果您已关闭ScreenUpdating,则必须通过在代码顶部放置--- Application.ScreenUpdating = True--来重新打开它

前5行被冻结; 注意:使用标题行下方的行。

Application.Goto Cells(6, 1)
ActiveWindow.FreezePanes = True