使用vba,把一个excel表格中的同一个表格内容的行进行排序
时间: 2023-05-11 18:03:15 浏览: 182
可以使用VBA中的Sort方法来对Excel表格中的同一表格内容的行进行排序。以下是一个示例代码:
Sub SortRows()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1") '将Sheet1替换为你要排序的工作表名称
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row '找到最后一行
ws.Range("A2:C" & lastRow).Sort key1:=ws.Range("B2:B" & lastRow), _
order1:=xlAscending, Header:=xlYes '按B列升序排序
End Sub
这段代码将按照B列的升序对A列到C列的所有行进行排序。你可以根据需要修改代码中的范围和排序方式。
相关问题
使用vba,把一个excel表格中具有相同内容的行进行排序
可以使用VBA中的Sort方法来对Excel表格中具有相同内容的行进行排序。以下是一个示例代码:
Sub SortRowsWithSameContent()
Dim lastRow As Long
Dim i As Long
Dim j As Long
Dim k As Long
Dim temp As Variant
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow - 1
For j = i + 1 To lastRow
If WorksheetFunction.CountIf(Range("A" & i & ":Z" & i), Cells(j, 1).Value) > 0 Then
For k = 1 To 26
temp = Cells(i, k).Value
Cells(i, k).Value = Cells(j, k).Value
Cells(j, k).Value = temp
Next k
End If
Next j
Next i
Range("A1:Z" & lastRow).Sort key1:=Range("A1"), order1:=xlAscending, Header:=xlYes
End Sub
这个代码会遍历Excel表格中的每一行,如果发现有相同内容的行,则会将它们交换位置,最后再对整个表格进行排序。注意,这个代码只对A列到Z列的内容进行比较和排序,如果需要对更多列进行操作,可以修改代码中的范围。
使用vba,把一个excel表中内容为“收益井”的行挑出来并重新排序
你可以使用以下代码来实现这个功能:
Sub SortRows()
Dim lastRow As Long
Dim i As Long
Dim j As Long
Dim temp As Variant
lastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRow
If ActiveSheet.Cells(i, "A").Value = "收益井" Then
For j = i + 1 To lastRow
If ActiveSheet.Cells(j, "A").Value <> "收益井" Then
temp = ActiveSheet.Rows(j).Value
ActiveSheet.Rows(j).Value = ActiveSheet.Rows(i).Value
ActiveSheet.Rows(i).Value = temp
Exit For
End If
Next j
End If
Next i
End Sub
这段代码会遍历整个表格,找到内容为“收益井”的行,并将它们按照顺序排列在一起。
阅读全文