fengyuxiu0925 2023-03-19 11:36 采纳率: 75%
浏览 56
已结题

按键精灵去重复表格内容问题

按键精灵去重复表格内容问题

a = 1
b = 2
c = 3
//循环读取表格文档内容
For i = 1 To 999
    a = a + 1
    b = b + 1
    c = c + 1
      //读取规格
      Gug = LazyExcel.ExcelRead(1, i, 1)
      Chf = LazyExcel.ExcelRead(1, a, 1)
      If Gug = Chf Then 
      Call LazyExcel.ExcelRows(1,a,"删除","",Index)
      End If
      If Gug = "" Then 
      Exit For
Next

以上代码如果Gug获取的第一行内容=Chf获取的第二行内容 就删除Chf获取的内容所在行,但是这样只能删除两个重复的保留一个,如果重复的有三行不能删除2个保留一个。

运行前
小明
小明
小红
小红
小红
运行后
小明
小红
小红
怎么修改为
小明
小红
  • 写回答

3条回答 默认 最新

  • fengyuxiu0925 2023-03-20 03:23
    关注
    
    ' 打开Excel文件
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open("C:\test.xlsx")
    Set objWorksheet = objWorkbook.Worksheets("Sheet1")
    ' 获取表格总行数和总列数
    intRowCount = objWorksheet.UsedRange.Rows.Count
    intColCount = objWorksheet.UsedRange.Columns.Count
    ' 创建字典对象,用于去重复
    Set dict = CreateObject("Scripting.Dictionary")
    ' 循环读取表格内容,并将不重复的内容保存到字典对象中
    For i = 1 To intRowCount
        For j = 1 To intColCount
            ' 获取单元格内容
            strCellValue = objWorksheet.Cells(i, j).Value
            ' 如果字典对象中不存在该内容,则保存到字典对象中
            If Not dict.Exists(strCellValue) Then
                dict.Add strCellValue, 1 ' 将数量初始化为1
            Else
                dict.Item(strCellValue) = dict.Item(strCellValue) + 1 ' 如果存在,则数量加1
            End If
        Next
    Next
    ' 清空表格内容
    objWorksheet.UsedRange.ClearContents
    ' 将去重后的内容写入表格,并将重复项数量写入第二列
    intRow = 1
    For Each strCellValue In dict.Keys
        objWorksheet.Cells(intRow, 1).Value = strCellValue
        objWorksheet.Cells(intRow, 2).Value = dict.Item(strCellValue)
        intRow = intRow + 1
    Next
    ' 关闭Excel文件
    objWorkbook.Close True
    objExcel.Quit
    

    GPT 回答

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 3月19日

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题