yuanzhen_licheng 2018-03-11 06:38 采纳率: 100%
浏览 2795
已采纳

EXCEL 如何同时对 多个页 的 同一列 进行排序

手上有几百个excel表,每个表中有多个页(sheet1、2、3...),每页中都存有相同格式的数据,如B列中都是数值,我想打开一个excel,对其含有的多个页,都按B列数值大小,各自同时升序排列,这样可以省得一个一个点进去手动排列了。有没有高手帮忙看看呢,先在此谢过。

  • 写回答

1条回答 默认 最新

  • zcarl 2018-03-11 09:04
    关注

    在Excel中按ALT+F11打开VBA编辑器,双击左侧VBA project下ThisWorkBook,在右侧编辑窗口粘贴以下代码,保存后关闭。再次打开时,Excel会自动把所有sheet的按第2列排序(本代码为升序)。

    Private Sub Workbook_Activate()

    Dim ws As Integer

    For ws = 1 To ActiveWorkbook.Sheets.Count

    With ActiveWorkbook.Worksheets(ws)
        '.Activate
        '.Columns("B:B").Select
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=Range("B1"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    End With
    
    With ActiveWorkbook.Worksheets(ws).Sort
        .SetRange Range("A2:Z100")    '   Z是最大列号,100是最大行号,可以根据实际调整
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    

    Next ws

    End Sub

    如果不能生效,请保证VBA宏可用。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效