VBA调整Excel格式~微软雅黑,左右居中对齐,上下居中对齐,10号字体,全部加边框,冻结首行~(公司固定格式)

PS:因为公司要求,Excel格式必须统一,所以有时候手上没有模板。而且自己也比较懒,所以就搞了个VBA,也学习了VBA一些基础的知识~虽然python已经很火了,可以搞办公自动化,但是不得不说,在帮助别人搞东西,你总不能去装一个python上去,然后install各种库把~vba算是原生的office兄弟,目前来看,某些情况还是很好用的`

Sub 格式调整()
    Dim row_cell As Long, column_cell As Long
    row_cell = ActiveSheet.UsedRange.Rows.Count
    column_cell = ActiveSheet.UsedRange.Columns.Count
    Debug.Print (row_cell)
    Debug.Print (column_cell)
    Range("a1:" & Cells(row_cell, column_cell).Address).Select
    '下面这句可以根据列号数字,返回对应的列号字母
    'MsgBox (Cells(row_cell, column_cell).Address)
    With Selection.Font
        .Name = "微软雅黑"
        .Size = 10
    End With
    '调整上下对齐,居中对齐
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With
    '全部边框
    With Selection.Borders
        .LineStyle = xlContinuous
        '设置边框颜色~
        '.ColorIndex = 39
    End With
    '全部选中
    Cells.Select
    '全部自适应对齐宽度
    'Cells.EntireColumn.AutoFit
    '因自适应宽度有时候不是我们想要的,所以还是设置固定的把~~列宽10(85像素,约0.13宽=1像素),行高21(28像素 约0.75高=1像素)
    Selection.RowHeight = 20
    Selection.ColumnWidth = 10
    Range("a1").Select
    '设置自动筛选  因为Selection.AutoFilter可以增加筛选,也可以取消筛选,所以只好用activesheet.autofiltermode来进行判断,它是一个布尔值,如果没有筛选,就加一个筛选上去~ 要注意,一个是selection开始,一个是activesheet开始
    If ActiveSheet.AutoFilterMode = False Then
        Selection.AutoFilter
    End If

'    '如下是拓展知识~ 选中a1,ctrl + 下箭头,ctrl + 右箭头
'    Range("A1").Select
'    Range(Selection, Selection.End(xlDown)).Select
'    Range(Selection, Selection.End(xlToRight)).Select
'    '清除全部,清除格式,清除内容,清除批注,清除超链接
'    Selection.Clear
'    Selection.ClearFormats
'    Selection.ClearContents
'    Selection.ClearComments
'    Selection.ClearHyperlinks
'    冻结首行~ 如果activewindow.freezepanes = false 就代变现在是没有冻结窗口的状态,然后让它冻结首行~
    Debug.Print (ActiveWindow.FreezePanes)  'debug.print 可以在立即窗口里面看到结果,方便调试代码~
    If Not ActiveWindow.FreezePanes Then
        With ActiveWindow
            .SplitColumn = 0
            .SplitRow = 1
        End With
        ActiveWindow.FreezePanes = True
    End If

End Sub

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值