2017-04-26 31 views
1

每個輸入如何做到這一點的excel,當你輸入一個列表到給定行說row_1,你會自動只要獲得排序列表比如你輸入如何自動在Excel

R1 : 2, 4, 5, 1 
後的數組進行排序

你馬上得到:

R1 : 1, 2, 4, 5 

需要注意的是,不能手動排序後輸入,而不是使用VBA.

+0

是每個單元的一個值還是R1中的一個列表,以及*每個輸入*是什麼? – pnuts

回答

0

的唯一途徑這可以通過使用來實現,只要在工作表中輸入新的內容時就會觸發該宏。例如,您可以將宏添加到代碼中,以便在工作表中的某些內容發生更改時觸發該工作表。 (可以查看通過右擊工作表標籤,然後從所得的上下文菜單中選擇查看代碼的代碼窗口。)以下是一個這樣的簡單的宏的示例:

Private Sub Worksheet_Change(ByVal Target As Range) 

    On Error Resume Next 
    EnableEvents = False 

    Range("A1").Sort Key1:=Range("A2"), _ 
     Order1:=xlAscending, Header:=xlYes, _ 
     OrderCustom:=1, MatchCase:=False, _ 
     Orientation:=xlTopToBottom 

    EnableEvents = True 
End Sub 
+1

您需要添加'EnableEvents = False',否則您將創建一個無限循環的事件(並在末尾設置「EnableEvents = True」) –

+0

感謝提示@chrisneilsen。更新了asnwer。 –

0

使用以下公式中Row 2

=IFERROR(SMALL(1:1,COLUMN()),"")

當您輸入公式,選擇Row 2完全和公式區域輸入公式,然後按CTRL + ENTER。 這將公式應用於Row 2中的每個單元格。無論何時在Row 1中輸入新值,Row 2都會按排序順序表示它。需要幫助請叫我。