WPS宏获取表格选中区域实现多列重复值删除

第一版是单列删除,ActiveCell返回一个 Range 对象,该对象代表活动窗口的活动单元格,注意区分活动单元格和选定区域。活动单元格是当前选定区域内的单个单元格。选定区域可能包含多个单元格,但只有一个是活动单元格。

function Macro1()

{

//1、获取选中单元格列号

var b = ActiveCell.Cells.Column;

var a = ActiveCell.Cells.Row;

//console.log("选中区域首行:"+a);

//console.log("选中区域首列:"+b);

//2、选中所选单元格所属列

/*知识点:

Cells.Item(a,b),Item是Cells的属性,返回集合中的单个单元格对象

*/

//Sheets("Sheet1").Cells.Item(a,b).EntireColumn.Select();

Sheets("Sheet1").Range(Cells(a,b),Cells(a,b)).EntireColumn.Select();

//3、执行删除重复值

/*知识点:

RemoveDuplicates (Columns 、 Header) ,从值区域中删除重复的值,表示 Range 对象的变量

Variant 包含重复信息的列的索引数组

XlYesNoGuess 指定第一行是否包含标题信息。 xlNo 是默认值;

*/

//Sheets("Sheet1").Cells.Item(a,b).EntireColumn.RemoveDuplicates(1, xlYes);

Sheets("Sheet1").Range(Cells(a,b),Cells(a,b)).EntireColumn.RemoveDuplicates(1, xlYes);

}

第二版是既能单列删除也能多列删除,Selection对象代表窗口或窗格中的当前所选内容,‌每个文档窗格只能有一个Selection对象,‌并且在整个应用程序中只能有一个活动的Selection对象‌。这个Selection查了N多资料,真费劲。

function Macro1()

{

//1、获取当前选中区域

var e =Selection.Cells.Address();

var a = Range(e).Columns.Count;

//console.log("所选区域的列数:"+a);

//console.log("所选区域的地址:"+e);

//2、选中所选单元格所属列

Range(e).EntireColumn.Select();

//3、创建数组,将列数通过遍历添加到数组中

var arr = new Array();

for(var i = 1 ; i <= a ; i++){

arr[i-1]=i;

//console.log(arr.length);

}

//4、执行删除重复值

Range(e).EntireColumn.RemoveDuplicates(arr, xlYes);

}

相关推荐
万能小锦鲤1 天前
《软件测试与质量控制》实验报告一 测试用例设计
测试用例·crm·wps·禅道·实验报告·软件测试与质量控制
小雪人8282 天前
wps批量让浮动在表格的图片跟随单元格移动和调整大小
wps
揭老师高效办公2 天前
快速删除Word和WPS文字中的空白行
word·wps
南棱笑笑生4 天前
20250729使用WPS打开xlsx格式的电子表格时候隐藏显示fx的编辑栏的方法
wps
阿幸软件杂货间5 天前
小黑课堂计算机二级 WPS Office题库安装包2.52_Win中文_计算机二级考试_安装教程
wps
LAM LAB8 天前
【WPS】office邮件合并,怎么将数据源excel中的下一条拼接在文档中的下一个位置
excel·wps
mangge0810 天前
C#操作WPS表格
java·c#·wps
@小匠14 天前
利用WPS 中的PY脚本功能,使用 Python 统计 WPS 在线表格数据(案例是统计开发计划任务进度)
开发语言·python·wps
簪花走马过长安18 天前
【PDF识别改名】使用京东云OCR完成PDF图片识别改名,根据PDF图片内容批量改名详细步骤和解决方案
ui·pdf·ocr·excel·京东云·wps·图片区域识别重命名
whalefall21 天前
wps怎样正常显示毫秒时间
wps