gpt4 book ai didi

VBA 排序无法正常工作

转载 作者:行者123 更新时间:2023-12-04 20:55:29 25 4
gpt4 key购买 nike

这个挑战来自对这个问题的回答:
Excel VBA Sorting

我使用提供的代码作为那里的答案之一,并尝试根据我的情况对其进行编辑

我需要对 A 列、A1 中的标题、A 到 Z 进行排序 - 同时保持行完整性,即行值遵循已排序的单元格

这是我尝试的代码编辑,但我显然没有正确编辑它,因为列 A 的值没有按我希望的字母顺序排序 - 有人可以帮忙吗?

With ws_catalogue

'''''''''''''''''''''''''''''''''''''''''''
'Get range from B1 to last cell on sheet. '
'''''''''''''''''''''''''''''''''''''''''''
Set myRange = .Range(.Cells(1, 1), .Cells(.Cells.Find("*", , , , 1, 2).Row, .Cells.Find("*", , , , 2, 2).Column))

myRange.Select

With .Sort
.SortFields.Clear

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'As using late binding Access won't understand Excel values so: '
'xlSortOnValues = 0 xlYes = 1 '
'xlAscending = 1 xlTopToBottom = 1 '
'xlSortNormal = 0 xlPinYin = 1 '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
.SortFields.Add _
Key:=myRange.Offset(, 6).Resize(, 1), _
SortOn:=0, _
Order:=1, _
DataOption:=0

.SetRange myRange
.Header = 1
.MatchCase = False
.Orientation = 1
.SortMethod = 1
.Apply

End With

End With

最佳答案

如果要对 A 列进行排序,则需要将其包含在 myRange 中。目前你有

ws_catalogue.Sort.SetRange = myRange

在哪里 myRange是从 B1 到数据底部(不包括 A 列)。

此外,如果您想订购 A 列,则需要添加类似这样的内容
    .SortFields.Add _
Key:=myRange.Offset(0,0) _
SortOn:=0, _
Order:=1, _
DataOption:=0

关于VBA 排序无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48668665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com