我正在创建一个客户端寄存器,可以使用按钮添加客户端。我还有一个排序功能,允许我在 klantnr 上对它们进行排序。但问题是每当我使用sort函数时它只对 klantnr 进行排序,并且从表单提供的附加信息保持不变。例如,这是我的用户形式:
(http://puu.sh/cw94k/ebf4510a24.png)
这是我的excel表:
(http://puu.sh/cw9nc/3a8e19a989.png)
当我添加另一行时,它会对 klantnr 进行排序,但不会使用其他值,例如 Naam 和 Adres 。因此,它需要对 klantnr 进行排序并使用其他信息
这是我的代码:
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
答案 0 :(得分:2)
使用工作表的Sort对象而不是范围对象中的对象:
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("B4")
ActiveSheet.Sort.SetRange Range("B4:F13")
ActiveSheet.Sort.Apply
在那里,您可以使用SetRange方法不仅定义键列,还可以定义您想要分拣的其他列