1

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

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

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

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

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

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

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

4

2 回答 2

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
于 2013-07-18T22:28:57.353 回答
0

'如何从源 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
于 2017-11-24T09:41:20.290 回答