標題:
橫向排序問題
[打印本頁]
作者:
pcwh3
時間:
2012-2-14 23:14
標題:
橫向排序問題
直向排序在EXCEL中已有排序選項功能。
但是,我想進行橫向順序排序, 例如:
A1=6、B1=19、C1=2、D1=5,排成: A1=2、B1=5、C1=6、D1=19,
A2=52、B2=19、C2=7、D2=16、E2=1,橫向順序排成:1、7、16、19、52
應如何用VBA處理?
作者:
register313
時間:
2012-2-14 23:52
回復
1#
pcwh3
Sub SORT()
Dim ARR()
R = 1
Do Until Cells(R, "A") = ""
LastC = Cells(R, 256).End(xlToLeft).Column
ReDim ARR(LastC)
For C = 1 To LastC
ARR(C) = WorksheetFunction.Small(Range("A" & R).Resize(1, LastC), C)
Next C
For C = 1 To LastC
Cells(R, C) = ARR(C)
Next C
R = R + 1
Loop
End Sub
複製代碼
作者:
Hsieh
時間:
2012-2-15 00:35
回復
1#
pcwh3
[attach]9585[/attach]
作者:
wang
時間:
2012-2-15 00:56
本帖最後由 wang 於 2012-2-15 01:27 編輯
橫向排序
資料>排序>選項>方向>循列排序
R = 1
Do Until Cells(R, 1) = ""
Range(Cells(R, 1), Cells(R, 1).End(xlToRight)).Select
Selection.SORT Key1:=Cells(R, 1), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
:=xlStroke, DataOption1:=xlSortNormal
R = R + 1
Loop
Cells(R, 1).Select
作者:
pcwh3
時間:
2012-2-15 11:46
回復
4#
wang
多謝各位幫忙, 了解一二了.
請問如果格式如附件所示,我要將G6起至AR200(暫定)範圍進行橫向順序排列,範圍之內一定會有空格出現的。
我不想逐行逐行用人手改動, VBA可以做到嗎?應如何寫法?
謝謝.
[attach]9595[/attach]
作者:
register313
時間:
2012-2-15 12:14
回復
5#
pcwh3
Sub SORT()
For R = 6 To [A65536].End(xlUp).Row
If Cells(R, "G") <> "" Then
Range(Cells(R, "G"), Cells(R, "G").End(xlToRight)).Select
Selection.SORT Key1:=Cells(R, "G"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
:=xlStroke, DataOption1:=xlSortNormal
R = R + 1
End If
Next R
End Sub
複製代碼
作者:
pcwh3
時間:
2012-2-15 12:46
回復
6#
register313
多謝幫忙, 正是我想要的.
作者:
a23105
時間:
2014-12-15 10:07
EXCEL橫向排序,排序完畢後,會出現空格,無法達到真正的橫向排序。
我有1萬筆資料,想要做到橫向排序,不知道是否有大大可以協助的。
用VBA做到這個功能。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)