精华内容
下载资源
问答
  • 在一个数据表,任意选定区域 ,判断单元格内的值,如果等于指定值,不做任何操作,如果不等于指定的值,则把单元格所在的列删除,请教VBA如何实现。
  • 今天我们内容主要通过讲解'Range.EntireRow(返回行),Range.EntireColumn(返回)两个属性,定位单元格具体位置,并根据位置删除所在区域。▼Range.EntireRow属性▼1、Range.EntireRow 属性:返回一个 Range 对象,...
    ce9a0c328a981b520abea9bb0844628a.png

    今天我们内容主要通过讲解'Range.EntireRow(返回行),Range.EntireColumn(返回列)两个属性,定位单元格具体位置,并根据位置删除所在区域。

    ▼Range.EntireRow属性▼

    1、Range.EntireRow 属性:返回一个 Range 对象,该对象表示包含指定区域的整行(或多行)。

    2、表达式.EntireRow:一个代表 Range 对象的变量。

    ▼Range.EntireColumn▼

    1、Range.EntireColumn 属性:返回一个 Range 对象,该对象表示包含指定区域的整列(或多列)

    2、表达式.EntireColumn:一个代表 Range 对象的变量。

    ▼属性介绍▼

    44a6f8326cff2a7273dcde14fd3d573a.png

    代码介绍:

    Sub test()

    [a1].EntireRow.Select ‘ 选择A1单元格所在的整行

    [a1].EntireColumn.Select ’选择A1单元格所在的整列

    [a1:a4].EntireRow.Select '选择A1:A4单元格所在的行

    [a1:d1].EntireColumn.Select ‘选择A1:D1单元格所在的列

    End Sub

    注意:返回是单行单列还是多行多列,取决于前面单元格所在的位置

    ▼案例介绍:删除区域内的空行▼

    51a2024fe9d1cd81dbf567953150a7fb.gif

    代码介绍:

    Sub test1()

    Dim rng As Range, ads As String

    For Each rng In [a1:a10]

    If rng = "" Then ad = ad & rng.Address &

    展开全文
  • 12.返回指定列数的列标 13.用指定字符替换某字符 14.从右边开始查找指定字符在字符串中的位置 15.从右边开始查找指定字符在字符串中的位置 16.计算工龄 17.计算日期差,除去星期六、星期日 18.将英文字反转的自定...
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧18 重新计算工作表指定区域 12 技巧19 录入数据后单元格自动保护 12 技巧20 工作表事件Target参数使用方法 12 20-1 使用单元格Address 属性 12 20-2 使用Column属性和Row属性 12 20-3 使用Intersect方法 12 ...
  • VBA编程技巧大全

    2013-08-05 09:03:19
    技巧18 重新计算工作表指定区域 60 技巧19 录入数据后单元格自动保护 60 技巧20 工作表事件Target参数使用方法 62 20-1 使用单元格Address 属性 62 20-2 使用Column属性和Row属性 63 20-3 使用Intersect方法 63 ...
  • 04061引用单元格区域所在的列范围 04062引用隐藏的行或列 04063引用单元格区域中未隐藏的单元格 04064引用锁定的单元格 04065引用不连续单元格区域集合内的各个连续的单元格区域 04066引用工作簿窗口范围内所有的...
  • RemoveDuplicates后边...其中Columns参数指定删除重复项的列,如果是1的话,那么第一列中重复项所在行都会被删除,如果是2则只有1,2两列均重复的行才会被删除,以此类推,你的区域12列,那么只有12列均重复的行...

    RemoveDuplicates后边必须跟参数否则不起作用

    ActiveSheet.Range("G21:R36").RemoveDuplicates Columns:=12, Header:=xlYes

    其中Columns参数指定要删除重复项的列,如果是1的话,那么第一列中重复项所在行都会被删除,如果是2则只有1,2两列均重复的行才会被删除,以此类推,你的区域12列,那么只有12列均重复的行会被删除。

    如果想在12列中只根据某几列的重复来删除,比如,1 3 7列。那么参数写为Columns:=Array(1,3,7)

     

    案例介绍:

    1.  仅根据第1列重复项删除整行

    源表:黄色标记的都是重复项

     

    VBA语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=1, Header:=xlYes
    End Sub

    或:个人推荐下面这种写法

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:A25").EntireRow.RemoveDuplicates Columns:=1, Header:=xlYes
    End Sub

     

     

    运行后:

     

    去重复项时忽略大小写,示例

    源表:

     

    VBA语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=1, Header:=xlYes
    End Sub

     

    运行后:

     

    RemoveDuplicates 方法去重规则总结:

    a.去重时忽略大小写

    b.前或后带空格的项却不做为重复项,无法去重,见上面案例。----- 关于这一点,经验验证:WPS 2019 --- 数据 --- 删除重复项 也是无法去除的,因此RemoveDuplicates 方法和工具菜单的方式去重是一样的效果。

     

    2. 仅根据第2列重复项删除整行

    源表:

     

    VBA语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=2, Header:=xlYes
    End Sub

     

    或:sSheet.Range("A1:H25").RemoveDuplicates Columns:=Array(2), Header:=xlYes

     

    运行后:

     

    3.  仅根据第 1 和 2列 重复项删除整行,能否生效?

    源表:

    VBA语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
    End Sub

     

    运行后:

     

    发现没有效果,重复项没有去除掉!!

     

    再示例: 要过滤的多列重复项 都处在同一行

    源表:

     

    VBA语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=Array(1, 3), Header:=xlYes
    End Sub

     

    运行后:

     

    第1列的重复项和第3列的重复项 处于同行,才会去做移除操作,见上图!

     

     

     

    另:

    http://www.amarindaz.com/excel-vba-remove-duplicates/    Excel VBA Remove Duplicates Method

    Header- It determines whether the given range does contain header or not. User can specify three values in header parameter. They are shown below

    Header:=xlYes- Choose this value if given range does contain Header

    Header:=xlNo – Choose this value if given Range doesn’t contain header

    Header:=xlGuess- Choose this value if you want excel to determine the existence of Header

     

    示例1:Header:=xlYes

    源表:

    VBA语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=1, Header:=xlYes
    End Sub

     

    运行后:

    第1列 与标题行重复项 没有去除掉,其它行重复项已去除。

     

    示例2:Header:=xlNo

    源表:

    VBA 语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=1, Header:=xlNo
    End Sub

     

    运行后:

     

    发现与标题行重复项已去除!

     

    示例3:Header:=xlGuess

    源表:

    VBA语句:

    Option Explicit
    Option Compare Text
    Sub 去重()
        Dim sSheet As Worksheet
        Set sSheet = ActiveSheet
        sSheet.Range("A1:H25").RemoveDuplicates Columns:=1, Header:=xlGuess
    End Sub

     

    运行后:

     

    转载于:https://www.cnblogs.com/onelikeone/p/10204443.html

    展开全文
  • 函数作用:返回指定列数的列标.......................42 '13.函数作用:用指定字符替换某字符.....................43 '14.函数作用:从右边开始查找指定字符在字符串中的位置...43 '15.函数作用:从右边开始查找指定...
  • excel使用

    2012-11-25 17:06:01
    图9这时关闭编辑器,只要我们在相应的列中输入rrr(F2,B2),那么打完折后的金额就算出来了(如图10)。图107、矩阵计算Excel的强大计算功能,不但能够进行简单的四则运算,也可以进行数组、矩阵的计算。(1)数组...
  • Excel百宝箱9.0无限制破解版

    热门讨论 2012-02-03 19:05:29
    【真正四舍五入】:将指定区域值执行四舍五入,可以自定义小数位数。和定义数字格式不同是,这是修改值,而且定义数字格式是修改显示状态 【图表条件格式】:对图表系列执行条件格式,可以设置2到3个条件,...
  • Excel百宝箱

    2012-10-27 17:09:21
    【真正四舍五入】:将指定区域值执行四舍五入,可以自定义小数位数。和定义数字格式不同是,这是修改值,而且定义数字格式是修改显示状态 【图表条件格式】:对图表系列执行条件格式,可以设置2到3个条件,...
  • 【真正四舍五入】:将指定区域值执行四舍五入,可以自定义小数位数。和定义数字格式不同是,这是修改值,而且定义数字格式是修改显示状态 【图表条件格式】:对图表系列执行条件格式,可以设置2到3个条件...
  • 能将最多三个任意区域存储格(或内容按自定分隔符号连接成一个字符串写入指定的存储格或新工作表中。可以生成含重复值与不含重复值并可选是否排序连接字符串。连接上万个字符只需短短1分钟即完成。 【隔行...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    函数功能与参数:判断指定区域中是否有重复单元格函数只有一个参数即为引用,结果为True时表示有重复,否则无重复。 函数名称:File  函数功能与参数:用于创建带链接文件目录,有三个参数,包括路径、文件名...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    能将最多三个任意区域存储格(或内容按自定分隔符号连接成一个字符串写入指定的存储格或新工作表中。可以生成含重复值与不含重复值并可选是否排序连接字符串。连接上万个字符只需短短1分钟即完成。 ...
  • 重复判断指定区域中是否有重复单元格函数只有一个参数即为引用,结果为True时表示有重复,否则无重复 <════════════┤ 安装不成功原因分析 ├════════════════>   对于无法安装...
  • 【真正四舍五入】:将指定区域值执行四舍五入,可以自定义小数位数。和定义数字格式不同是,这是修改值,而且定义数字格式是修改显示状态 【图表条件格式】:对图表系列执行条件格式,可以设置2到3个条件,...
  • 能将最多三个任意区域存储格(或内容按自定分隔符号连接成一个字符串写入指定的存储格或新工作表中。可以生成含重复值与不含重复值并可选是否排序连接字符串。连接上万个字符只需短短1分钟即完成。 ...
  • 能将最多三个任意区域存储格(或内容按自定分隔符号连接成一个字符串写入指定的存储格或新工作表中。可以生成含重复值与不含重复值并可选是否排序连接字符串。连接上万个字符只需短短1分钟即完成。 ...
  • 能将最多三个任意区域存储格(或内容按自定分隔符号连接成一个字符串写入指定的存储格或新工作表中。可以生成含重复值与不含重复值并可选是否排序连接字符串。连接上万个字符只需短短1分钟即完成。 ...
  • excel 工具箱

    2012-01-22 15:04:34
    【合并中相同值】:对一中相同且相邻数据区域进行合并居中 【取消合并还原合并数据】:对一中合并后单元格取消合并,且恢复合并前所有数据 【合并数据并复制】:可以将一个区域的数据直接复制到一个单元格...
  • EXCEL百宝箱8.0终极版

    2011-11-05 16:48:02
    函数功能与参数:判断指定区域中是否有重复单元格函数只有一个参数即为引用,结果为True时表示有重复,否则无重复。 函数名称:File  函数功能与参数:用于创建带链接文件目录,有三个参数,包括路径、文件名...
  • • 计算目标日期所在季度最后一天 • 返回目标日期是全年中第几天 • 判断是否为闰年 • DATEDIF函数基本用法 • 利用日期函数计算员工工龄 • 计算指定日期星期值 • 计算上月月末日期星期 • 指定某月第...
  • │ │ 技巧113 在同一页上打印不连续的区域.xls │ │ 技巧116 在报表每一页上打印公司Logo.xls │ │ 技巧117 在页眉或页脚增加分隔线.xls │ │ 技巧119 在Excel中定时打印.xls │ │ │ ├─第2章-工具栏...
  • 不扫描驱动器看是否有坏区域,因此只应对以前格式化过驱动器使用该参数。  /fs:file-system  指定要使用文件系统:FAT、FAT32 或 NTFS 。如果未指定文件系统,将使用现有文件系统格式。  Map  显示...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

vba删除指定区域所在的列