我在Excell 2010的數據庫中工作,發現很多重複的名字。我試圖製作一個VBA腳本來解決這個問題,但它只是以無限循環結束。當它打到一個空白單元格時,我希望它停下來。繼承人的代碼,我想出了如何在找到空白單元格時停止它?
Sub excluirDuplicatas()
Dim lngCont As Long
Dim lngLinhas As Long
Dim rngNom1 As Range
Dim rngNom2 As Range
lngCont = 0
lngLinhas = Cells.SpecialCells(xlCellTypeLastCell).Row
While lngCont <= lngLinhas
Set rngNom1 = ActiveCell
Set rngNom2 = rngNom1.Offset(1, 0)
While rngNom1.Value = rngNom2.Value And rngNom2 <> lastRow
rngNom2.Select
rngNom2.EntireRow.Delete
Set rngNom2 = ActiveCell
Wend
Set rngNom1 = rngNom2
Set rngNom1 = ActiveCell
Set rngNom1 = rngNom2
rngNom1.Select
lngCont = lngCont + 1
Wend
End Sub
我不知道什麼是錯,我的猜測是,我說出
rngNom2 <> Cells.SpecialCells(xlCellTypeLastCell).Row
請注意,我starded VBA編程今天的部分(三月22日)。如果你可以請發佈不僅答案,而且快速解釋我會感激。
PS:數據表有2000行長期
黑色細胞或空白單元? – 2013-03-22 20:14:40
空白,我拼錯了。對不起,大聲笑 – Pedro 2013-03-22 20:16:04
你能更具體地描述你想要完成的是什麼......也許我們可以向你展示更好的代碼來完成這個任務...例如,在Excel中,如果你選擇你的範圍並按'F5' ,點擊'Special'並選擇'Blanks',可以找到你範圍內的所有空白單元......如果你點擊'Shift'+'Space Bar',那麼將選擇整行......然後你可以刪除那行(如果這就是你想要做的)...所以,如果你記錄一個宏,那麼你可以得到你想要的10行代碼或更少... – 2013-03-22 20:26:15