我有以下腳本,在Google文檔 - >工作表中運行良好。它不適用於很多行。我猜測,因爲數組越來越大,跟蹤值。根據列中單元格的值刪除重複的行
我需要一個腳本,我可以在MS EXCEL中運行,它將刪除在列中具有重複值的行。 (除非該列「」)
谷歌文檔的腳本,對小文件的工作原理:
function removeDuplicates()
{
var s = SpreadsheetApp.getActiveSheet();
var c = Browser.inputBox("Please", "Type in the column name (e.g.: A, B, etc.)", Browser.Buttons.OK_CANCEL);
var r, v;
var aValues = [];
try
{
if(c != "cancel")
{
r = 2; // first row is row two
while (r <= s.getLastRow())
{
v = s.getRange(c + r).getValue();
if(v != "")
{
if(aValues.indexOf(v) == -1)
{
aValues.push(v);
}
else
{
s.deleteRow(r);
continue;
}
}
r++;
}
Browser.msgBox("Duplicates removed!");
}
} catch (e) {Browser.msgBox("Error Alert:", e.message, Browser.Buttons.OK);}
}
任何幫助,將不勝感激。
您是否嘗試了功能區命令的「數據」►「數據工具」►「刪除重複項」或者是否有早期版本的Excel?這是否是更大的VBA例程的一部分? – Jeeped 2014-11-03 21:17:31
似乎刪除重複刪除重複的空白行也(我需要保留)。這只是一個簡單的例程,我需要能夠在多張紙上運行 – 2014-11-03 21:22:39
你當然是對的。我混淆了兩個沒有互相回覆的工作表操作。 (非空白的AutoFilter,然後Remove Duplicates不會在可見細胞上重複數據刪除) – Jeeped 2014-11-03 21:32:05