ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 223|回复: 3

[求助] 排序问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-1-25 09:37 | 显示全部楼层 |阅读模式
本帖最后由 飞雪凌云 于 2024-1-25 09:42 编辑

image.png

请问:如图B列我已经排序好,现在A列按B列相同按顺序排序,可以批量执行这个操作吗?

TA的精华主题

TA的得分主题

发表于 2024-1-25 16:05 来自手机 | 显示全部楼层
VBA:

Set Conn = CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Extended Properties='Excel 12.0; HDR=NO;';Data Source=c:\data.xlsx"
'Conn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Extended Properties='Excel 12.0; HDR=YES;';Data Source=c:\data.xlsx"
'sql="insert into [Sheet1$] (f1) values (#2024-01-12 16:01:02#)"
'sql1=" (select `Name` from [Sheet1$] where not `Name` is null) as a "
'sql2=" (select `Number` from [Sheet1$]) as b "
sql="select * from [Sheet1$] order by f2,f1"

set Rst=Conn.Execute(sql)
ActiveCell.CopyFromRecordset Rst
Conn.close

TA的精华主题

TA的得分主题

发表于 2024-1-25 16:26 | 显示全部楼层
F2:H15{=INDEX(B:B,RIGHT(SMALL($C$2:$C$15/1%%+$B$2:$B$15/1%+ROW($2:$15),ROW(A1)),2))

批號先出現 排上面 O2:Q15{=INDEX(K:K,RIGHT(SMALL(MATCH($L$2:$L$15,$L:$L,)/1%%+$K$2:$K$15/1%+ROW($2:$15),ROW(A1)),2))
12339.png

TA的精华主题

TA的得分主题

发表于 2024-1-30 11:33 | 显示全部楼层
image.png



A列触发复制自排列

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False

    ' 检查更改是否发生在A列
    If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
        ' 按列排序
        Me.Sort.SortFields.Clear
        Me.Sort.SortFields.Add Key:=Range("A:A"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With Me.Sort
            .SetRange Me.Range("A:A")
            .Header = xlNo ' 如果你的数据有标题,则设置为xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End If

    Application.EnableEvents = True
    On Error GoTo 0
End Sub



您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-4 15:59 , Processed in 0.036875 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表