如何自动sorting在Excel中的每个input后的数组
在excel
如何做到这一点,当你input一个列表到一个给定的行,说row_1
,你会自动获得一个sorting列表,例如只要你input
R1 : 2, 4, 5, 1
你马上得到:
R1 : 1, 2, 4, 5
请注意,input后不要手动sorting,而不要使用VBA.
唯一可以做到这一点的方法是使用一个在工作表中input新内容时触发的macros 。 例如,您可以将macros添加到工作表中的某些内容在工作表中发生更改时触发的工作表的代码。 (可以通过右键单击工作表选项卡并从所得到的上下文菜单中select“查看代码”来查看代码窗口。)下面是一个这样的简单macros的例子:
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
在Row 2
使用下面的公式,
=IFERROR(SMALL(1:1,COLUMN()),"")
input公式时,完全selectRow 2
并在公式区域中input公式,然后按CTRL
+ ENTER
。 这将公式应用于Row 2
每个单元格。 无论何时在Row 1
input新值, Row 2
都会按sorting顺序进行表示。 需要帮助请叫我。