使用Excel VBA对整行进行sorting
我正在创build一个客户端注册,客户端可以使用button添加。 我也有一个sortingfunction,可以让我在klantnr上sorting 。 但问题是,每当我使用sortingfunction,它只sortingklantnr和从表单提供的附加信息保持在位。 例如,这是我的用户表单:
( http://puu.sh/cw94k/ebf4510a24.png )
这是我的优秀表格:
( http://puu.sh/cw9nc/3a8e19a989.png )
当我添加另一行它sortingklantnr,但它不采取其他值,如Naam和Adres 。 所以它需要对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的其他关键字列