`
发表于2025/3/26 11:47:37 楼主 
头像 等级:初学者
积分:0
财富值:2.0
身份:普通用户
Sub 冻结首行()
    Dim selectedRange As Range

    Dim rangeAddress As String    

    ' 检查是否选中了单元格(避免错误)
    If TypeName(Selection) <> "Range" Then
        MsgBox "请选中单元格区域!", vbExclamation
        Exit Sub
    End If    
    ' 获取选中的区域
    Set selectedRange = Selection
    ' 记录地址(如 "A1:B10")

    rangeAddress = selectedRange.Address

    

'开始冻结
    Rows("1:1").Select               ' 选中首行,不然会只冻结当前展示的第一行。
    With ActiveWindow
        .FreezePanes = False     ' 先取消现有冻结
        .SplitRow = 1            ' 设置拆分位置在第1行下方
        .FreezePanes = True     ' 启用冻结
    End With
'回到之前的位置
    Range(rangeAddress).Select  

End Sub


 ' 取消冻结这里没记录选中行,需要的可以按上面DIY一下
Sub 取消冻结() 
    With ActiveWindow
        .FreezePanes = False  ' 取消冻结
        .Split = False       ' 彻底移除拆分(必要,不然会留着拆分窗口)
    End With
End Sub


我的个性签名
发表于 2025/3/26 13:27:11   
头像 等级:学者
积分:64
财富值:4
身份:普通用户
感谢网友热心分享~
我的个性签名
发表于 2025/3/26 19:19:19   
头像 等级:学有小成
积分:10
财富值:2
身份:普通用户

这个怎么用啊?


我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。