2013-07-18 31 views
1

我在通過VBscript創建的excel列中查找重複項時遇到問題。使用vbscript查找excel列中的dups

我目前正在從打開excel文件的數據庫中抓取數據,將數據放入數據並按列E按字母順序升序排列(如果不需要,可以輕鬆刪除)。

現在我面臨的問題是,我試圖找到列E(錯誤)內的任何重複項。

如果有一個重複的我想複製的複製並粘貼到另一個片(列A)我創建

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

而在塔B oWS7的我想從原始工作表中放置所有相應的列C的(科目)。

這樣就會有很多帳戶的比例出現1 Error。如果沒有重複,我希望讓他們一個人留下。我不確定這是多麼清楚,但任何問題/對此的幫助將不勝感激。 在此先感謝。

+1

您的意思是VBScript或VBA? –

回答

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 
0

如何找到源Excel工作表 Repeted單元格值。

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