【问题标题】:Find dups in excel column using vbscript使用 vbscript 在 excel 列中查找 dups
【发布时间】:2017-11-24 17:41:20
【问题描述】:

我在通过 VBscript 创建的 excel 列中查找重复项时遇到问题。

我目前正在从打开 excel 文件的数据库中获取数据,将数据放入其中,然后在 E 列 上按字母升序对数据进行排序(如果不需要,可以轻松删除) .

现在我面临的问题是我试图在该E列中找到任何重复项(错误)。

如果有副本,我想复制副本并将其粘贴到我创建的另一张表 (A 列)

Set oWS7 = oWB.Worksheets(7)
oWB.Sheets(7).Name = "Dups" 

在 oWS7 的 B 列中,我想将原始工作表中所有相应的C 列(帐户)放入其中。

这样就会有 1 个错误 与许多帐户的比率。如果没有重复,我想让它们单独留下。我不确定这有多清楚,但对此有任何问题/帮助将不胜感激。 提前致谢。

【问题讨论】:

  • 你是指VBScript还是VBA?

标签: excel vbscript duplicates


【解决方案1】:

我将做出以下假设:

  • 工作表中的内容从第一行开始
  • 第一行(并且只有第一行)是标题行。
  • 标题行和数据行之间没有空行。
  • 数据已排序。

如果这些假设适用,则以下应该有效(一旦输入正确的工作表编号):

Set data = oWB.Sheets(...)  '<-- insert correct sheet number here

j = 1
For i = 3 To data.UsedRange.Rows.Count
  If data.Cells(i, 5).Value = data.Cells(i-1, 5).Value Then
    oWS7.Cells(j, 1).Value = data.Cells(i, 5).Value
    oWS7.Cells(j, 2).Value = data.Cells(i, 3).Value
    j = j + 1
  End If
Next

【讨论】:

    【解决方案2】:

    '如何从源 Excel 工作表中查找重复的单元格值。

    Set oXL = CreateObject("Excel.application")
    oXL.Visible = True
    Set oWB = oXL.Workbooks.Open("ExcelFilePath")
    Set oSheet = oWB.Worksheets("Sheet1")         'Source Sheet in workbook
    
    r = oSheet.usedrange.rows.Count
    c = oSheet.usedrange.columns.Count
    
    inttotal = 0
    For i = 1 To r
        For j = 1 To c
            If oSheet.Cells(i,j).Value = "aaaa" Then
                inttotal = inttotal+1
            End If
        Next
    Next
    
    MsgBox inttotal
    
    oWB.Close
    oXL.Quit
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多