VBA中如何对工作表进行排序

代码

在VBA中对工作表进行排序的最简单方法是直接使用Move方法来移动工作表。

Sub SortSheetsByNameDescending()
    Dim sheets
    Dim sheet As Worksheet
    Dim i As Integer, j As Integer
    Dim sortedSheets() As Array

    ' 获取当前工作簿中的所有工作表
    Set sheets = ThisWorkbook.Sheets

    ' 将所有工作表的名称存储到数组中
    ReDim sortedSheets(1 To sheets.Count)
    For i = 1 To sheets.Count
        sortedSheets(i) = sheets(i).Name
    Next i

    ' 对工作表名称数组进行降序排序
    For i = LBound(sortedSheets) To UBound(sortedSheets) - 1
        For j = i + 1 To UBound(sortedSheets)
            If sortedSheets(i) < sortedSheets(j) Then
                ' 交换数组中的元素位置
                Dim temp As String
                temp = sortedSheets(i)
                sortedSheets(i) = sortedSheets(j)
                sortedSheets(j) = temp
            End If
        Next j
    Next i

    ' 根据排序后的数组重新定位工作表
    For i = sheets.Count To 1 Step -1
        Set sheet = sheets(sortedSheets(i))
        sheet.Move Before:=sheets(1)
    Next i
End Sub

逻辑

  1. 获取所有表的名称, 存储到Array
  2. 对Array进行排序, 本文是按名称降序排序
  3. 使用sheet.move方法往前排

请添加图片描述

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 15:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 15:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 15:14:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 15:14:02       20 阅读

热门阅读

  1. 使用element-plus中的表单验证

    2024-04-13 15:14:02       18 阅读
  2. 数据结构——概念基础

    2024-04-13 15:14:02       13 阅读
  3. docker 简单使用

    2024-04-13 15:14:02       16 阅读
  4. Redis宕机数据恢复指南

    2024-04-13 15:14:02       17 阅读
  5. NLP核心技术学习之(一)文本预处理

    2024-04-13 15:14:02       13 阅读
  6. lspci 命令不能使用,请安装 pciutils

    2024-04-13 15:14:02       16 阅读
  7. 先过我这一关 - signal

    2024-04-13 15:14:02       14 阅读
  8. 埃及筛---获取一定范围内的所有素数

    2024-04-13 15:14:02       12 阅读
  9. Vue 3 + Vite项目实战:常见问题与解决方案全解析

    2024-04-13 15:14:02       12 阅读
  10. 【八股】MySQL

    2024-04-13 15:14:02       11 阅读
  11. 掌握 Python 迭代:循环和列表推导的魔力

    2024-04-13 15:14:02       11 阅读