分享

日常使用利用VbA对Excel中的多个sheet工作表排序

 hdzgx 2019-11-09

在excel工作簿中对有多个工作表,由于个人需要,对每个工作表中某一值的比较大小后,然后进行排序。

由于vba中字典对应值比较难以排序,所以就分为两步

第一步是提取工作表名和对应字段写到工作表中:

  1. Sub getname()
  2. Dim sheet As Worksheet
  3. Dim k As Integer
  4. k = 17
  5. For Each sheet In Worksheets
  6. Cells(k, 1) = sheet.Name
  7. Cells(k, 2) = sheet.Cells(2, 3)
  8. k = k + 1
  9. Next
  10. End Sub

得到后排序:

再利用第二个函数对排序后的工作表名进行相应的移动:

  1. Sub sortmysheet()
  2. Dim sheet As Worksheet
  3. Dim sheetname As String
  4. Dim i As Integer
  5. Set sheet = ActiveSheet
  6. For i = 1 To 41
  7. sheetname = sheet.Cells(i, 1)
  8. Sheets(sheetname).Move after:=Sheets(i)
  9. Next
  10. sheet.Activate
  11. End Sub

其中 sheet是新建了一个空白工作表,然后一个41行

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多