返回列表 上一主題 發帖

[發問] 遞增排序A1~A10,如何讓A1後面是A2而不是A10。

[發問] 遞增排序A1~A10,如何讓A1後面是A2而不是A10。

  1. 'A:F遞增排序
  2.     ActiveSheet.Columns("A:F").Select
  3.     Selection.Sort Key1:=ActiveSheet.Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
  4.         OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
  5.         :=xlStroke, DataOption1:=xlSortNormal
複製代碼
以上是遞增排序的巨集~
但是排序後~資料內有A1.XXXXX~A10.XXXXXXX
遞增排序~卻是
A1.XXXXX
A10.XXXXX
A2.XXXXXXX

如何讓它變成
A1.XXXXXX
A2.XXXXX

回復 10# av8d

排序最好依照EXCEL的潛規則來處理

這種無法排序
1.XXXX
2.XXXX
8.XXXX
11.XXXX
就改為這種方式
01.XXXX
02.XXXX
08.XXXX
11.XXXX  

這種無法排序
A1
A2
A11
就改為這種方式
A01
A02
A11

如何修改:  用人工改、用公式改、用程式改
除了人工改外,其他由各位高手來發揮
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

文字和數字合在一起
execl會將其視為文字

TOP

回復 12# Asterl


    A大~謝謝你~學習了^^

TOP

有一個比較簡單的方法,
就是將A1、A2...
改成A01、A02...、A10
即可改善。

TOP

回復 10# av8d
不論如何,就是要使用輔助欄擷取出數值部分再去排序,才能達到你的需求
學海無涯_不恥下問

TOP

回復 9# Hsieh

如果是一般
1.XXXX
2.XXXX
8.XXXX
11.XXXX

怎麼排序卻是
1.XXXX
11.XXXX
2.XXXX
8.XXXX

TOP

本帖最後由 Hsieh 於 2012-8-19 23:02 編輯

回復 8# av8d
G2=--SUBSTITUTE(A2,MID(A2,1,LOOKUP(2,1/ISERROR(--MID(A2,ROW(INDIRECT("A1:A"&LEN(A2))),1)),ROW(INDIRECT("A1:A"&LEN(A2))))),"")
play.gif
學海無涯_不恥下問

TOP

回復 5# GBKEE


    好像不能A1~A20且B1~B20且C1~C20~
是因為過長?

TOP

回復  GBKEE


    我的是2010版~可是找不到選項->自訂清單->匯入

我記得以前有使用過~我再找看看^^ ...
av8d 發表於 2012-8-19 21:46



    找到了~選項->進階->編輯自訂清單~謝謝G大!

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題