Excel 选择刚粘贴的行,然后按列排序,然后清除多余的行
我正在尝试创建一个执行以下3个步骤的宏: 步骤1-将.txt文件中的数据复制并粘贴到excel的第一个空单元格中 步骤2-按第三列(D)对新粘贴的数据进行排序。在这一行之上将有数百行数据,我不希望与之一起排序 步骤3-从所有不包含数字的行中清除数据,这些数字将是底部的行,可以是1行,也可以是3行Excel 选择刚粘贴的行,然后按列排序,然后清除多余的行,excel,vba,paste,Excel,Vba,Paste,我正在尝试创建一个执行以下3个步骤的宏: 步骤1-将.txt文件中的数据复制并粘贴到excel的第一个空单元格中 步骤2-按第三列(D)对新粘贴的数据进行排序。在这一行之上将有数百行数据,我不希望与之一起排序 步骤3-从所有不包含数字的行中清除数据,这些数字将是底部的行,可以是1行,也可以是3行 Sub LASTROW() Dim rngLast As Range With ThisWorkbook.Worksheets("RCM") If .Range("B1").Value = "" Th
Sub LASTROW()
Dim rngLast As Range
With ThisWorkbook.Worksheets("RCM")
If .Range("B1").Value = "" Then
Set rngLast = .Range("B1")
Else
Set rngLast = .Cells(.Rows.Count, "B").End(xlUp).Offset(1, 0)
End If
rngLast.PasteSpecial
Selection.Sort Key1:=Selection.Cells(1, 3), Header:=xlNo
End With
End Sub
编辑:我通过使用一个单独的宏进行清除,解决了最后一步:
Sub ClearHeaders()
Dim LASTROW As Long
Dim I As Long
LASTROW = Cells(Rows.Count, "D").End(xlUp).Row
For I = LASTROW To 2 Step -1
If (Not (IsNumeric(Cells(I, "D")))) Then
Rows(I).ClearContents
End If
Next I
End Sub
我会有一个按钮,一个接一个地调用这两个函数。谢谢大家 (D)列上方数百行?是的,这将是一个持续的列表。每次执行此过程时,我们都必须将新的数据范围粘贴到工作表中。现在是第700行,因为我们在2020年1月6日开始使用它。您的意思是在
rngLast
上方有数百行,请尝试使用宏记录器执行您想要执行的操作。然后将代码更改为仅适用于所选区域。您可以将其删除,除非您想将最终代码作为答案发布。