首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA排序导致9> 17?

VBA排序导致9> 17?
EN

Stack Overflow用户
提问于 2021-01-13 22:43:24
回答 2查看 49关注 0票数 1

我用它对几列数字按升序排序:

代码语言:javascript
运行
复制
With Workbooks(LotWB).Worksheets("SQL Data").Sort
     .SortFields.Add Key:=Range("J1"), Order:=xlAscending
     .SortFields.Add Key:=Range("H1"), Order:=xlAscending
     .SortFields.Add Key:=Range("G1"), Order:=xlAscending
     .SortFields.Add Key:=Range("A1"), Order:=xlAscending
     .SortFields.Add Key:=Range("B1"), Order:=xlAscending
     .SetRange Workbooks(LotWB).Worksheets("SQL Data").Range("A1:AG" & LastRowLot)
     .Header = xlYes
     .Apply
End With

但是当我运行代码时,它以一种奇怪的方式对数字进行排序(例如1、17、25、33、9)。我知道这些数字是按照第一个(最左边)数字排序的。我能做些什么来防止这种错误的分类?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-13 23:23:09

更改包含格式为文本的数字的单元格中的格式

  • 您必须遍历范围中的区域才能使.Value = .Value工作。

代码

代码语言:javascript
运行
复制
Const SortColumns As String = "A:A,B:B,G:G,H:H,J:J"
With Workbooks(LotWB).Worksheets("SQL Data")
    Application.ScreenUpdating = False
    Dim rng As Range
    With .Range("A1").CurrentRegion
        Set rng = .Resize(.Rows.Count - 1).Offset(1)
    End With
    With Intersect(rng, .Range(SortColumns))
        .NumberFormat = 0 ' Choose the number format you need.
        For Each rng In .Areas
            rng.Value = rng.Value
        Next rng
    End With
    With .Sort
        .SortFields.Add Key:=Range("J1"), Order:=xlAscending
        .SortFields.Add Key:=Range("H1"), Order:=xlAscending
        .SortFields.Add Key:=Range("G1"), Order:=xlAscending
        .SortFields.Add Key:=Range("A1"), Order:=xlAscending
        .SortFields.Add Key:=Range("B1"), Order:=xlAscending
        .SetRange .Parent.Range("A1:AG" & LastRowLot)
        .Header = xlYes
        .Apply
    End With
    Application.ScreenUpdating = True
End With
票数 1
EN

Stack Overflow用户

发布于 2021-01-13 23:11:00

谢谢斯科特。

这是我在排序前所用的

代码语言:javascript
运行
复制
With Workbooks(LotWB).Worksheets("SQL Data").Columns(7)
    .NumberFormat = "0"
    .Value = .Value
End With
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65710858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档