Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用excel VBA对整行进行排序_Vba_Sorting_Excel_Row - Fatal编程技术网

使用excel VBA对整行进行排序

使用excel VBA对整行进行排序,vba,sorting,excel,row,Vba,Sorting,Excel,Row,我正在创建一个客户端注册,在这里可以使用按钮添加客户端。我还有一个排序功能,允许我在klantnr上对它们进行排序。但问题是,每当我使用sort函数时,它只对klantnr进行排序,并且表单提供的添加信息保持不变。例如,这是我的用户表单: () 这是我的excel表格: () 当我添加另一行时,它排序klantnr,但不使用其他值,例如Naam和Adres。因此,它需要对klantnr进行排序,并带走其他信息 这是我的代码: Private Sub btn_Toevoegen_Click()

我正在创建一个客户端注册,在这里可以使用按钮添加客户端。我还有一个排序功能,允许我在klantnr上对它们进行排序。但问题是,每当我使用sort函数时,它只对klantnr进行排序,并且表单提供的添加信息保持不变。例如,这是我的用户表单:

()

这是我的excel表格:

()

当我添加另一行时,它排序klantnr,但不使用其他值,例如NaamAdres。因此,它需要对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

使用图纸的排序对象,而不是范围对象中的排序对象:

ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("B4")
ActiveSheet.Sort.SetRange Range("B4:F13")
ActiveSheet.Sort.Apply
在这里,您不仅可以使用SetRange方法定义键列,还可以定义其他您想要使用的列