手上有几百个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之后自动重连失效