VBA 删除重复行

 时间:2024-10-14 08:12:40

1、Sub 重复行删除()Dim R As Integer '表格中行总数Dim L As Integer '表格中列总数Dim i1 As Integer '行递增事恐皇卫循环Dim i2 As Integer '行递增循环(当前行的下一行开始)Dim j As Integer '列递增循环Dim flag As BooleanR = ActiveSheet.UsedRange.Rows.CountL = ActiveSheet.UsedRange.Columns.CountDim HB As IntegerHB = 0'MsgBox R'MsgBox LFor i1 = 1 To R Step 1If (i1 + HB > R) Then '如果已经合并删除的行与已循环过的行之和大于循环前总行数则停止循环Exit ForEnd IfApplication.ScreenUpdating = FalseFor i2 = R To i1 + 1 Step -1flag = TrueFor j = 1 To L Step 1If Cells(i1, j) <> Cells(i2, j) Thenflag = FalseExit For '如果发现两行中单元格有不同,则退出本次循环End IfNext jIf flag ThenCells(i2, 1).EntireRow.DeleteHB = HB + 1 '删除一行最外层循环就减1End IfNext i2Application.ScreenUpdating = TrueNext i1End SubSub 重复行合并计算()Dim R As Integer '表格中行总数Dim L As Integer '表格中列总数Dim i1 As Integer '行递增循环Dim i2 As Integer '行递增循环(当前行的下一行开始)Dim j As Integer '列递增循环R = ActiveSheet.UsedRange.Rows.CountL = ActiveSheet.UsedRange.Columns.CountDim HB As IntegerHB = 0'MsgBox R'MsgBox LFor i1 = 1 To R Step 1If (i1 + HB > R) Then '如果已经合并计算的行与已循环过的行之和大于循环前总行数则停止循环Exit ForEnd IfFor i2 = R To i1 + 1 Step -1If Cells(i1, 1) = Cells(i2, 1) Then '选择第1列作为判断是否重复列Cells(i1, 2) = Cells(i1, 2) + Cells(i2, 2) '选择第2列作为合并计算列Cells(i2, 1).EntireRow.DeleteHB = HB + 1 '删除一行最外层循环就减1End IfNext i2Next i1End Sub

  • VBA自定义NVLOOKUP函数一对多查找
  • VBA复制符合条件的单元格
  • excel中使用vba来创建新的工作薄并另存为的方法
  • 怎么用VBA代码设置单元格为标准日期格式
  • excel中使用vba来显示工作表内的公式
  • 热门搜索
    省内旅游景点 黄山旅游注意事项 浙江安吉旅游攻略 上海城隍庙旅游攻略 南通旅游网 河北保定旅游 圣托里尼岛旅游攻略 东南亚旅游报价 德国旅游买什么 日韩旅游