使用excel VBA对整行进行排序
我正在创建一个客户端注册,在这里可以使用按钮添加客户端。我还有一个排序功能,允许我在klantnr上对它们进行排序。但问题是,每当我使用sort函数时,它只对klantnr进行排序,并且表单提供的添加信息保持不变。例如,这是我的用户表单: () 这是我的excel表格: () 当我添加另一行时,它排序klantnr,但不使用其他值,例如Naam和Adres。因此,它需要对klantnr进行排序,并带走其他信息 这是我的代码:使用excel VBA对整行进行排序,vba,sorting,excel,row,Vba,Sorting,Excel,Row,我正在创建一个客户端注册,在这里可以使用按钮添加客户端。我还有一个排序功能,允许我在klantnr上对它们进行排序。但问题是,每当我使用sort函数时,它只对klantnr进行排序,并且表单提供的添加信息保持不变。例如,这是我的用户表单: () 这是我的excel表格: () 当我添加另一行时,它排序klantnr,但不使用其他值,例如Naam和Adres。因此,它需要对klantnr进行排序,并带走其他信息 这是我的代码: Private Sub btn_Toevoegen_Click()
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
使用图纸的排序对象,而不是范围对象中的排序对象:
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("B4")
ActiveSheet.Sort.SetRange Range("B4:F13")
ActiveSheet.Sort.Apply
在这里,您不仅可以使用SetRange方法定义键列,还可以定义其他您想要使用的列