精华内容
下载资源
问答
  • 使用excel时,有时会碰到一表格里面很的sheet,比如sheet11,sheet23。...当这些sheet是无序的时候,查找一sheet很疼,所有想sheet来排序下,但是excel本身又不提供sheet排序的方法,所有就上网找了下...

    转载自品略图书馆 http://www.pinlue.com/article/2020/03/2814/5710061046933.html

     

    使用excel时,有时会碰到一个表格里面很多的sheet,比如sheet11,sheet23。。。

    当这些sheet是无序的时候,查找一个sheet很疼,所有想按sheet来排序下,但是excel本身又不提供按sheet排序的方法,所有就上网找了下解决方法 ,发现得通过excel的VB编程模式,随便右击一个sheet名称,选择“查看代码”,在弹出的界面中加入以下代码:

    Sub Sort_Sheets()

    Dim sCount As Integer, I As Integer, R As Integer

    ReDim Na(0) As String

    sCount = Sheets.Count

    For I = 1 To sCount

    ReDim Preserve Na(I) As String

    Na(I) = Sheets(I).Name

    Next

    For I = 1 To sCount - 1

    For R = I + 1 To sCount

    If Na(R) < Na(I) Then

    JH = Na(I)

    Na(I) = Na(R)

    Na(R) = JH

    End If

    Next

    Next

    For I = 1 To sCount

    Sheets(Na(I)).Move After:=Sheets(I)

    Next

    End Sub

    然后执行代码,问题解决

    展开全文
  • Excel合并多个工作表

    千次阅读 2019-01-09 14:35:33
     Na(I) = Sheets(I).Name '将第I个工作表名称存入数组 Next '------------在数组中对名称进行排序----------------- For I = 1 To sCount - 1 '从1到工作表数-1  For R = I + 1 To sCount '从i+1到工作表数  If ...

    参考链接:https://blog.csdn.net/weixin_43144634/article/details/82689732

    合并文件夹下各文件

    Private Sub hb()
        Dim hb As Object, kOne As Boolean, tabcolor As Long
        Set hb = Workbooks.Add
        Application.DisplayAlerts = False
        For I = hb.Sheets.Count To 2 Step -1
            hb.Sheets(I).Delete
        Next
         
        Dim FileName As String, FilePath As String
        Dim iFolder As Object, rwk As Object, Sh As Object
        Set iFolder = CreateObject("shell.application").BrowseForFolder(0, "请选择要合并的文件夹", 0, "")
        If iFolder Is Nothing Then Exit Sub
        FilePath = iFolder.Items.Item.Path
        FilePath = IIf(Right(FilePath, 1) = "\", FilePath, FilePath & "\")
        FileName = Dir(FilePath & "*.xls*")
        Do Until Len(FileName) = 0
            If UCase(FilePath & FileName) <> UCase(ThisWorkbook.Path & "\" & ThisWorkbook.Name) Then
                Set rwk = Workbooks.Open(FileName:=FilePath & FileName)
                tabcolor = Int(Rnd * 56) + 1
                With rwk
                    For Each Sh In .Worksheets
                        Sh.Copy After:=hb.Sheets(hb.Sheets.Count)
                        hb.Sheets(hb.Sheets.Count).Name = "小学" & "-" & Sh.Name & "-" & FileName
                        hb.Sheets(hb.Sheets.Count).Tab.ColorIndex = tabcolor
                        If Not kOne Then hb.Sheets(1).Delete: kOne = True
                    Next
                    .Close True
                 End With
            End If
            Set rwk = Nothing
            FileName = Dir
        Loop
        Application.DisplayAlerts = True
        'Sort_Sheets
        
    End Sub

     

    Sheet排序

    Sub Sort_Sheets()
    Dim sCount As Integer, I As Integer, R As Integer
    ReDim Na(0) As String    '声明数组Na
    sCount = Sheets.Count   '统计工作表数量。
    '------------收集所有工作表名称代码段--------------
    For I = 1 To sCount
        ReDim Preserve Na(I) As String 'Na被声明为动态数组,数组元素个数随I值发化变化
        Na(I) = Sheets(I).Name   '将第I个工作表名称存入数组
    Next
    '------------在数组中对名称进行排序-----------------
    For I = 1 To sCount - 1 '从1到工作表数-1
        For R = I + 1 To sCount '从i+1到工作表数
            If Na(R) < Na(I) Then '若Na(R)<Na(i),将相邻两个数组元素(工作表名称)比较大小。文本也可比大小!
                JH = Na(I) '本句和接下来两句,将Na(I)与Na(R)内容互换
                Na(I) = Na(R)
                Na(R) = JH
            End If
        Next
    Next
    '------------根据数组中排好的顺序,将相应工作表移到最后-------完成排序
    For I = 1 To sCount  '
        Sheets(Na(I)).Move After:=Sheets(I)
    Next
    End Sub


     

    删除无用sheet

    '删除名字前三个字符为“sht”的所有工作表
    Public Sub delectsh()
        Dim c As Worksheet
        For Each c In Worksheets
             If c.Name like "sht*" Then'这里的“sht”区分大小写
                 Application.DisplayAlerts = False'删除时不用确认
                 c.Delete
             End If
             
        Next c
    End Sub

     

    展开全文
  • Excel多个Sheet排序

    千次阅读 2020-01-03 10:13:24
    1. 在最前面新建一个sheet; 2.右键点击sheet,选择查看代码; 3.插入一下代码 Sub ml() Dim sht As Worksheet, k& [a:a] = "" '清空A列数据 [a1] = "目录" ... '遍历工作簿中每个工作表 ...

    1. 在最前面新建一个sheet;

    2.右键点击sheet,选择查看代码;

    3.插入一下代码 

    Sub ml()
        Dim sht As Worksheet, k&
        [a:a] = ""
        '清空A列数据
        [a1] = "目录"
        k = 1
        For Each sht In Worksheets
        '遍历工作簿中每个工作表
        k = k + 1
        '累加K值
        Cells(k, 1) = sht.Name
        '将工作表名称依次放入表格A列
        Next
    End Sub

    4.选择新建的sheet页,运行代码 

    5.根据sheet生成一列,使用Excel排序对A列排序 

    6.插入一下代码,运行

    
    Sub sortsheet()
        Dim sht As Worksheet, shtname$, i&
        Set sht = ActiveSheet
        '设置变量sht为当前激活的工作表,即目录表。
        For i = 2 To sht.Cells(Rows.Count, 1).End(3).Row
        '遍历工作表A列的数据,A1以外。
        shtname = sht.Cells(i, 1)
        '将A列值赋值为字符串变量shtname
        Sheets(shtname).Move after:=Sheets(i - 1)
        '将工作表依次移动
        Next
        sht.Activate
        '重新激活目录表
    End Sub
    

    7.排好序了

     参考自该文章

    展开全文
  • vba-Sort 函数对工作表排序的方法

    千次阅读 2019-02-21 13:32:00
    来源:... 360doc@途之人 Range("待排序数据区域").Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orient...

    来源:http://www.360doc.com/content/17/0719/14/12298544_672573888.shtml

    360doc@途之人

     



    Range("待排序数据区域").Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3,
            Header, OrderCustom, MatchCase, Orientation, SortMethod,
            DataOption1, DataOption2, DataOption3)

    其中各类型参数的意义如下:
    ① key1、key2、key3
    这些key是排序的关键列(或行)的单元格地址,如 Range("A1")
    实际只要选对列标题即可,对行数要求不敏感。

    【行数要求不敏感】
    即数据区域中任意行数都可以: Range("A1")、或Range("A2")、或Range("A1000")都可以。

    【注意】
    1. 一次Sort只能调用至多3个参数,没有key4可以使用。
    2. 至少使用1个参数即可,即key2、key3可以省去不用。

    【引用方法】
    1. 带参数名引用,如: key1:=Range("G3")
       带参数名引用时

    2. 参数位置引用,即按照上述Sort命令的参数顺序直接应用,
       如: Range("A1:I19").Sort key1:=Range("G3")  即第1位置参数即为key1


    ②  Order1、Order2、Order3
       这些Order是排序的顺序模式指定参数。即: A-Z升序、或Z-A降序
        参数的模式名称为:
              A-Z升序= xlAscending 或直接=1
                   Z-A降序= xlDescending 或直接=2

      带参数名引用时:
      Order1:=xlAscending  或 Order1:= 1

      参数位置引用时,紧跟key后面。(但注意key2和Order2之间要隔一个Type参数)


    ③  Header
        即是否有标题行参数,一共有3个值:
        Header:= xlGuess=0 或xlYes=1 或 xlNo=2
        即=xlGuess、或=0时,工作表自己判断
         =xlYes、或=1时,强制第1行为列标题,即第1行【不参与排序】
         =xlNo、或=2时,强制没有列标题。即第1行【也参与排序】

      带参数名引用时:
       如: Header:= xlGuess
       
       参数位置引用时,在第7个逗号之后。
      (如果key只有1个时,要连续空6个逗号,
       如:Range("A1:I19").Sort Range("A1"), 1, , , , , , 2 (order1之后连续写6个逗号)


    ④ MatchCase 是否匹配大小写
        MatchCase:=False 、或=0 不区分大小写
        MatchCase:=True 、或=1 区分大小写(Case Sensitive)

    ⑤ Orientation 排序方向 
       一般为同一列中从上到下各行进行排序:Orientation:= xlTopToBottom 、或=1
        如果是: 同一行中从左到右各列进行排序,则为:Orientation:= xlLeftToRight、或=2


    ⑥ SortMethod 排序方法
        按拼音排序: SortMethod:= xlPinYin 、或=1 (Use phonetic info)
        按笔画排序: SortMethod:= xlStroke、或=2


    ⑦ DataOption1 按数值或按文本排序
        DataOption1:= xlSortNormal


    以上综合示例为:
    按参数名引用:
    Range("A1:I19").Sort key1:=Range("G3"), Order1:=xlAscending, _
             Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
             Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _
             DataOption1:=xlSortNormal

    直接按参数位置:
    Range("A1:I19").Sort [G3], 1, , , , , ,0, 1, 0, 1, 1,1

    或根据默认为:Range("A1:I19").Sort [G3], 1


     

     

     

     

     

    Range("待排序数据区域").Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3,

            Header, OrderCustom, MatchCase, Orientation, SortMethod,

            DataOption1, DataOption2, DataOption3)

     

    其中各类型参数的意义如下:

    key1key2key3

    这些key是排序的关键列(或行)的单元格地址,如 Range("A1")

    实际只要选对列标题即可,对行数要求不敏感。

     

    【行数要求不敏感】

    即数据区域中任意行数都可以: Range("A1")、或Range("A2")、或Range("A1000")都可以。

     

    【注意】

    1. 一次Sort只能调用至多3个参数,没有key4可以使用。

    2. 至少使用1个参数即可,即key2key3可以省去不用。

     

    【引用方法】

    1. 带参数名引用,如: key1:=Range("G3")

       带参数名引用时

     

    2. 参数位置引用,即按照上述Sort命令的参数顺序直接应用,

       : Range("A1:I19").Sort key1:=Range("G3")  即第1位置参数即为key1

     

     

      Order1Order2Order3

       这些Order是排序的顺序模式指定参数。即: A-Z升序、或Z-A降序

        参数的模式名称为:

              A-Z升序= xlAscending 或直接=1

                   Z-A降序= xlDescending 或直接=2

     

      带参数名引用时:

      Order1:=xlAscending   Order1:= 1

     

      参数位置引用时,紧跟key后面。(但注意key2Order2之间要隔一个Type参数)

     

     

      Header

        即是否有标题行参数,一共有3个值:

        Header:= xlGuess=0 xlYes=1 xlNo=2

        =xlGuess、或=0时,工作表自己判断

         =xlYes、或=1时,强制第1行为列标题,即第1行【不参与排序】

         =xlNo、或=2时,强制没有列标题。即第1行【也参与排序】

     

      带参数名引用时:

       : Header:= xlGuess

       

       参数位置引用时,在第7个逗号之后。

      (如果key只有1个时,要连续空6个逗号,

       :Range("A1:I19").Sort Range("A1"), 1, , , , , , 2 (order1之后连续写6个逗号)

     

     

    MatchCase 是否匹配大小写

        MatchCase:=False 、或=0 不区分大小写

        MatchCase:=True 、或=1 区分大小写(Case Sensitive)

     

    Orientation 排序方向 

       一般为同一列中从上到下各行进行排序:Orientation:= xlTopToBottom 、或=1

        如果是: 同一行中从左到右各列进行排序,则为:Orientation:= xlLeftToRight、或=2

     

     

    SortMethod 排序方法

        按拼音排序: SortMethod:= xlPinYin 、或=1 (Use phonetic info)

        按笔画排序: SortMethod:= xlStroke、或=2

     

     

    DataOption1 按数值或按文本排序

        DataOption1:= xlSortNormal

     

     

    以上综合示例为:

    按参数名引用:

    Range("A1:I19").Sort key1:=Range("G3"), Order1:=xlAscending, _

             Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _

             Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _

             DataOption1:=xlSortNormal

     

    直接按参数位置:

    Range("A1:I19").Sort [G3], 1, , , , , ,0, 1, 0, 1, 1,1

     

    或根据默认为:Range("A1:I19").Sort [G3], 1

     

     

     

    转载于:https://www.cnblogs.com/codelidaguo/p/10411901.html

    展开全文
  • 将MySQL数据库中的多个表导出到Excel文件,并在一个Excel文件中以多个sheet的形式存储下来。 1、建立Excel文件,并获取数据数据: private static void process(String[] sqls) { Connection conn = ...
  • Oracle查询优化-03操作多个表

    千次阅读 2017-02-07 20:41:36
    OR3.3 组合相关的行3.4 IN、EXISTS 和 INNER JOIN3.5 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN 解析3.6 自关联3.7 NOT IN、NOT EXISTS 和 LEFT JOIN3.8 外连接中的条件不要乱放3.9 检测两个表中的数据及对应...
  • 今天我们公司销售部的库管找我帮忙解决一个问题:3月份的库存有2个,A是3.1的,B是3.31,现在想要找出2个的差异,但是400多个货品在2个排序都不一样;能不能将B的货品按照A的顺序排列呢?   ...
  • VBA单元格、工作表、工作簿

    千次阅读 2019-04-30 23:08:35
    详解VBA单元格、工作表、工作簿各种表示、方法,注意事项。
  • 在网上找EXCEL文件合并的方法,思路: 一、Linux 或者window+cmder,直接用命令行cat合并EXCEL文件,但是,需要安装辅助东西才能直接处理(也许也不可以,但是,可以用文件格式转换工具转换是可行的,把EXCEL文件...
  • Excel工作表名称的使用

    千次阅读 2008-03-04 12:32:00
    Sheets集合与Worksheets集合的区别Sheets集合代表当前工作簿中的所有工作表,包括图表工作表、对话框工作表和宏表。Worksheets集合仅代表当前工作簿中的所有工作表。如下图1所示的工作簿。500){this.resized=true;...
  • 算法学习总结(2)——温故十大经典排序算法

    万次阅读 多人点赞 2019-08-29 14:57:51
    一、什么是排序算法 1.1、排序定义 对一序列对象根据某个关键字进行排序。 1.2、排序术语 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b...
  • bootstrap table表头字段排序

    万次阅读 2017-10-16 10:25:35
    var col = [{ field: 'checked', checkbox: true, align: 'center' }, { field: 'id', title: 'id', align: 'center' }, { field: 'PROJECT_NAME', title: '项目名称', align: 'cen
  • 文章目录一、总览二、常用排序算法1、冒泡排序——交换类排序1.1 简介1.2 源码1.3 效果2、快速排序——交换类排序2.1 简介2.2 源码2.3 效果3、选择排序——选择类排序3.1 简介3.2 源码3.3 效果4、堆排序——选择类...
  • 一:冒泡排序 定义: 实例1: 二:选择排序 定义: 实例2: 三:插入排序 定义: 实例3: 四:希尔排序 定义: 实例4: 五:归并排序 定义: 实例5:迭代法 实例6:递归法 六:快速排序 定义: ...
  • 多表查询 分类汇总与排序 提供的数据 yggl 库 员工信息 Employees 员工薪水情况 Salary 部门信息 Departments 一、SELECT语句的基本使用 ①查询Employees的员工部门号和性别,消除重复行。 ②计算每...
  • 1)a left join b on 条件1 left join c on 条件2 ...2)多个逗号的相当于inner join。 查询时候要根据具体情况而定。 ----------------其他的参考了网上资料: 查询语句中select from where group by having o...
  • 如何保护Excel工作表

    万次阅读 2012-02-20 18:08:07
    保护工作薄是保护工作薄的窗口或者结构,举个例子,一个工作薄里面有3个工作表,你设置了工作薄保护,就只有在解除工作薄保护之后才可以增加或者删除工作表,但对已经存在的工作表,可以进行编辑的,也就是你说的...
  • 十大经典排序算法-堆排序,计数排序,桶排序,基数排序 1-堆排序 算法思想: 算法图解: 示例代码: 在这里插入代码片 复杂度分析: 2-计数排序 算法思想: 算法图解: 示例代码: 在这里插入代码片 复杂度分析: 3-桶排序 ...
  • 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数...
  • Sub text1()Worksheet.Add.Name="汇总"For Each Sheet In Worksheetsk = k + 1x = y.usedRange.Rows.Countsheets("汇总").Cells(k, 1) = Sheet.Namesheets("汇总"...
  • (转载自网络) 本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足...在这篇文章的接下来一篇,会有一系列来讲解mybatis,这系列从mybatis的入门开始,到基本使用,和spr
  • 本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足...在这篇文章的接下来一篇,会有一系列来讲解mybatis,这系列从mybatis的入门开始,到基本使用,和spring整合,和第
  • 排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序方法...
  • Excel工作表探密

    千次阅读 2007-11-05 11:18:00
    Excel工作表探密 Sheets集合与Worksheets集合的区别Sheets集合代
  • iamlaosong文 ...1、提取的方法是用SQL语句,首先建立一对这张表的查询,方法是数据选项卡—现有连接—浏览更 或者 快捷键Alt+D+D+D,然后选择要查询的Excel文件和文件中的的工作表,然后点击“属性
  • 用INNER JOIN语法联接多个表建记录集

    千次阅读 2012-07-25 10:37:15
    多表联接建立记录集是十分有用的,因为某些情况下,我们需要把数字数据类型显示为相应的文本名称,这就遇到了多表联接建立记录集的问题。比如作一会员注册系统,共有五个表,会员信息数据member、会员身份...
  • 有一已经有序的数据序列,要求在这已经排好的数据序列中插入一数,但要求插入后此数据序列仍然有序,这时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一数据插入到已经排好序的...
  • 这两都是顺序排列的,最近有一需求是不顺序排序了 ,抽出个别的排在前面,并且这种需求是应对的问题中的数据是比较少的,而且没有规律可循,用程序处理的话虽然能实现,但是处理起来会复杂很,下面我们就...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 175,575
精华内容 70,230
关键字:

多个工作表按名称排序