使用Excel VBA对整行进行sorting

我正在创build一个客户端注册,客户端可以使用button添加。 我也有一个sortingfunction,可以让我在klantnrsorting 。 但问题是,每当我使用sortingfunction,它只sortingklantnr和从表单提供的附加信息保持在位。 例如,这是我的用户表单:

( http://puu.sh/cw94k/ebf4510a24.png )

这是我的优秀表格:

( http://puu.sh/cw9nc/3a8e19a989.png )

当我添加另一行它sortingklantnr,但它不采取其他值,如NaamAdres 。 所以它需要对klantnr进行sorting,并用它来获取其他信息

这是我的代码:

Private Sub btn_Toevoegen_Click() Dim laatsteKlantNummer As Integer Range("B4:B13").End(xlDown).Select laatsteKlantNummer = ActiveCell.Value ActiveCell.Offset(1, 0).Value = txtKlant + 0 ActiveCell.Offset(1, 1).Value = txtNaam ActiveCell.Offset(1, 2).Value = txtAdres ActiveCell.Offset(1, 3).Value = txtWoonplaats ActiveCell.Offset(1, 4).Value = txtContact Me.Hide Range("B4:B13").Sort Key1:=Range("B4:B13"), Order1:=xlAscending End Sub 

使用表单的Sort对象而不是Range对象的Sort对象:

 ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add Key:=Range("B4") ActiveSheet.Sort.SetRange Range("B4:F13") ActiveSheet.Sort.Apply 

在那里你可以使用SetRange方法来定义不仅关键列,而且还要定义你想要sorting的其他关键字列