我在宏中使用以下代码对所选列进行排序
Range("A14:CE" & lastRow).Sort key1:=Range(Cells(14, Col), Cells(lastRow, Col)),
_Order1:=xlAscending, Header:=xlNo, key2:=Range("C14:C" & lastRow), Order2:=xlAscending,
_Header:=xlNo
我刚刚注意到,当单元格的末尾有数字时,这会表现得很奇怪,就像在这个例子中一样
左栏中的数据将按照右栏中的A到Z排序,这不是我想要的。 我想要1比1,而不是10! 我查了一下这就是Excel本身的排序方式。有没有办法防止它,除了将文本更改为FM-001?
答案 0 :(得分:1)
是的斯科特是对的,您需要2个单独的文本和数字列,然后对它们进行排序;
如果这是唯一的组合,那么您可以使用
=LEFT(A1,2)
=RIGHT(A1,LEN(A1)-5)
如果你没有共同的模式,但文本首先和那些数字
=LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
=RIGHT(A4,LEN(A4)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A4&"0123456789"))+1)
答案 1 :(得分:1)
没有我的笔记本电脑,但我将在下面概述我的想法: