精华内容
下载资源
问答
  • 一次性选中符合条件的单元格 整行删除,本例中使用union方法,注意在循环体中时,因参数是对象,应事先给个具体实例.
  • VBA-工作表中一次插入(删除)多行

    千次阅读 2020-02-24 22:25:35
    工作表中一次插入(删除)多行 1、插入多行 在工作表中一次性插入多行,需要使用insert方法,下面针对在第三行位置处插入4行空行为例,介绍三种方法: 循环四次,每次插入一行 通过单元格选中整行进行插入行 直接选中...

    工作表中一次插入(删除)多行

    1、插入多行

    在工作表中一次性插入多行,需要使用insert方法,下面针对在第三行位置处插入4行空行为例,介绍三种方法:

    • 循环四次,每次插入一行
    • 通过单元格选中整行进行插入行
    • 直接选中行进行插入行
    '方法一
    Sub 插入行()
        Dim i As Integer
        For i = 1 To 4
            Sheet1.Rows(3).Insert
        Next
    End Sub
    '方法二
    Sub 插入行1()
        Sheet1.Range("a3").EntireRow.Resize(4).Insert
    End Sub
    '方法三
    Sub 插入行2()
        Sheet1.Rows(3).Resize(4).Insert
    End Sub
    

    2、删除多行

    在工作表中一次性删除多行,需要使用delete方法,下面针对在第三行位置处删除向下的4行空行为例,介绍三种方法:

    • 循环四次,每次删除一行

    • 通过单元格选中整行进行删除行

    • 直接选中行进行删除行

    '方法一
    Sub 删除行()
        Dim i As Integer
        For i = 1 To 4
            Sheet1.Rows(3).Delete
        Next
    End Sub
    '方法二
    Sub 删除行1()
        Sheet1.Range("a3").EntireRow.Resize(4).Delete
    End Sub
    '方法三
    Sub 删除行2()
        Sheet1.Rows(3).Resize(4).Delete
    End Sub
    
    
    展开全文
  • Excel的多行或者多列删除

    系统:Windows 7
    软件:Excel 2010

    • 这个系列集锦了一些常用功能
    • 今天说说对多行多列的删除操作
    • 重点强调如何表示多行或者多列

    数据源形式
    这里写图片描述

    Part 1:多行删除

    1. 通过RowsRange两种方法都可以
    2. 多行使用行号数字来表示,注意需将行号放入双引号中""
    Sub 多行删除()
        Set te = ThisWorkbook.Worksheets("示例")
        'te.Rows("3:5").Delete Shift:=xlUp
        te.Range("3:5").Delete Shift:=xlUp
    End Sub

    执行效果
    这里写图片描述

    Part 2:多列删除

    1. 通过ColumnsRange两种方法都可以
    2. 列号使用字母表示,注意需将行号放入双引号中""
    3. 当使用数字表示列号时,报错
    Sub 多列删除()
        Set te = ThisWorkbook.Worksheets("示例")
        te.Columns("B:D").Delete Shift:=xlToLeft
    '    te.Range("B:D").Delete Shift:=xlToLeft
    End Sub

    执行效果
    这里写图片描述

    列号采用数字报错信息
    这里写图片描述

    Part 3:列号的字母表示

    1. 在某些情况下我们只有列号的数字表示怎么办(例如Match函数结果)​?
    2. 使用Address结合Split函数即可解决该问题
    3. 示例中28列对应的列号为AB
    Sub 列号获取()
        Set te = ThisWorkbook.Worksheets("示例")
        cell_addr = te.Cells(1, 28).Address
        col_name = Split(cell_addr, "$")(1)
        Debug.Print (cell_addr)
        Debug.Print (col_name)
    End Sub

    执行效果
    这里写图片描述

    以上为本次的学习内容,下回见

    如发现有错误,欢迎留言指出。文章定位:“字典查询类”


    更多原创请关注微信公众号

    扫描二维码,关注公众号
    让重复工作一键化,让时间更有意义
    这里写图片描述

    展开全文
  •  .Range("C" & k(ks)) = Replace(.Range("C" & k(ks)), vbCrLf, "", , 1) '将多余的回车符删除,保留最终结果  If ks  '判断序列号ks是否小于数组k()的总数-1,实际上是用于判断是否处理到了最后一个合并单元格,...


    Sub Test()
        With Sheet1
            '准备阶段
            .Range("C:C").Clear  '清除C列中数据即格式
            '定义数据类型
            Dim k() As Integer '定义一个整型数组k(),用于存放获取到的数据
            Dim ks As Integer '定义一个整型ks,作为整型数组k()的序列号
            Dim UseCount As Integer '定义一个整型UseCount,用于记录统计【合并单元格】的总数量
            Dim EndRow As Integer '定义一个整型EndRow,用于记录需要进行合并的数据的最后一行的行数,同时也是总行数
            UseCount = Application.WorksheetFunction.CountA(Range("A1:A1000")) '调用Excel函数CountA获取【合并单元格】的数量,并赋值给UseCount
            EndRow = .Range("D1000").End(xlUp).Row '使用End()方法获取需要合并的数据的最后一行的函数,并赋值给EndRow
            '获取对应单元格的单元格地址
            ks = 0 '使ks为零
            ReDim k(UseCount) '重新定义数组k()的数组元素的数量
            For i = 1 To EndRow '设置循环判断,从第一行到需要合并的数据的最后一行
                If .Range("B" & i) <> "" Then '通过If...Then方法来获取当合并单元格的值不为空时
                    k(ks) = i                           '数组k(ks)的值为i,i为行数
                    ks = ks + 1                      '此时ks+1,然后进入下一个循环,如不能理解,详细解释请见公众号
                End If
            Next
            k(UseCount) = EndRow     '设置数组k()的最后一位为需要合并的数据的最后一行的行数
            '执行输出
            ks = 0 '重置ks为0
            For i = 1 To EndRow '设置循环判断,从第一行到需要合并的数据的最后一行
                If .Range("B" & i) <> "" Then '通过If...Then方法来获取当合并单元格的值不为空时
                    For j = k(ks) To k(ks + 1)  '即进入从数组k()相邻的两个元素之间的循环值,如不能理解,详细解释请见公众号
                        .Range("C" & i) = .Range("C" & i) & vbCrLf & .Range("D" & j) '输出值到相对应合并单元格中的C列所对应的行中
                    Next
                    .Range("C" & k(ks)) = Replace(.Range("C" & k(ks)), vbCrLf, "", , 1) '将多余的回车符删除,保留最终结果
                    If ks < UseCount - 1 Then   '判断序列号ks是否小于数组k()的总数-1,实际上是用于判断是否处理到了最后一个合并单元格,因为最后一个单元格出现了特殊情况
                        .Range("C" & k(ks) & ":C" & k(ks + 1) - 1).Merge  '如是,则需要少合并一个单元格
                    Else
                        .Range("C" & k(ks) & ":C" & k(ks + 1)).Merge '如不是,则直接合并单元格
                    End If
                    ks = ks + 1 '然后ks+1,进入下一个循环
                End If
            Next
            Cells.EntireRow.AutoFit  '执行单元格行高的自动调整
            .Range("C:C").ColumnWidth = 100  '执行单元格列宽的调整
            .Range("C:C").EntireColumn.AutoFit '执行单元格列宽的自动调整
        End With
    End Sub


    展开全文
  • AutoCAD VBA提取多行文字内容

    千次阅读 2011-03-19 17:01:00
    AutoCAD VBA,提取多行文字内容,代码如下。 Public Function GetMTextUnformatString(MTextString As String) As String Dim s As String Dim RE As Object Set RE = ThisDrawing.Application.GetInterfaceObjec...

    AutoCAD VBA,提取多行文字内容,代码如下。

    Public Function GetMTextUnformatString(MTextString As String) As String
    Dim s As String
    Dim RE As Object
    Set RE = ThisDrawing.Application.GetInterfaceObject("VBscript.RegExp")
    RE.IgnoreCase = True
    RE.Globa = True
    s = MTextString
    RE.pattern = "\\\"
    s = RE.Replace(s, Chr(1))
    RE.pattern = "\\{"
    s = RE.Replace(s, Chr(2))
    RE.pattern = "\\}"
    s = RE.Replace(s, Chr(3))
    RE.pattern = "\\pi(.[^;]*);"
    s = RE.Replace(s, "")
    RE.pattern = "\\pt(.[^;]*);"
    s = RE.Replace(s, "")
    RE.pattern = "\\s(.[^;]*)(\^|#|\\)(.[^;]*);"
    s = RE.Replace(s, "$1$3")
    RE.pattern = "(\\F|\\C|\\H|\\T|\\Q|\\W|\\A)(.[^;];"
    s = RE.Replace(s, "")
    RE.pattern = "\\~"
    s = RE.Replace(s, "")
    RE.pattern = "\\P"
    s = RE.Replace(s, "")
    RE.pattern = vbLf
    s = RE.Replace(s, "")
    RE.pattern = "({|})"
    s = RE.Replace(s, "")
    RE.pattern = "\x01"
    s = RE.Replace(s, "\")
    RE.pattern = "\x02"
    s = RE.Replace(s, "{")
    RE.pattern = "\x03"
    s = RE.Replace(s, "}")
    Set RE = Nothing
    GetMTextUnformatString = s
    End Function
    Public Sub GetMTextString()
    Dim objMText As AcadMText
    Dim ptPick As Variant
    ThisDrawing.Utility.GetEntity objMText, ptPick
    MsgBox GetMTextUnformatString(objMText.TextString)
    End Sub

    代码完。

    展开全文
  • 文章目录 VBA Excel 实现单元格内多行内容的文字处理方法 多行遍历判定方法 一些简单VBA功能 删除删除线的文本 判断字符串是否以某个指定字符串结束 过滤仅留下每行字符串中以.c和.htm为结尾的字符串(以.....
  • 不连续的多行一次选中操作,比如复制或者删除。这个用法,还是与前面说到过的多行一次选中删除一样的原理。为了更好操作,将不连续的多行用个range对象装起来,即可方便操作。 原理:将不连续的多行使用字符串装...
  • 对于多行多列数据,基本使用Worksheet中的Range就可以处理了。但是在UserForm类型的应用中,也时常需要处理多行多列的数据。在UserForm中,显示和处理多列数据,通常可以有的选择有以下几种:DataGrid,ListView,...
  • Multiline:文本框多行输入,设置为True,手动换行是Ctrl+Enter;如果设置WordWrap属性设置为True为自动换行 ScrollBars:是否显示滚动条 ListBox:列表框 Listbox.RowSource=”sheet1!D1:”D66”:列表框的条目,不...
  • Vba删除指定行

    千次阅读 2020-03-14 17:23:31
    Sub classification() Dim LastRow, max_level As Integer Dim slc, j, dele, a, b As Integer On Error Resume Next LastRow = ActiveSheet.UsedRange.Rows.Count For slc...是因为删除的行,他会上移,也可以使用DO 
  • 下面的代码,因为某些原因,使得最后一行比正常间距更大:VBA - Outlook Email.HTMLBody行距?Sub emailspacing()Dim OutApp As ObjectDim OutMail As ObjectSet OutApp = CreateObject("Outlook.Application"...
  • excel vba复制黏贴 Using VBA to program Excel isn't as popular as it once was. However, there are still plenty of programmers who prefer it when working with Excel. If you are one of those people, this...
  • 【代码模板004】VBA快速删除工作表

    千次阅读 2018-03-01 02:34:00
    在博文 VBA添加工作表详解 中为大家讲了如何使用一句代码在指定位置插快速入指定名称的工作表。但是如果工作簿中已经存在同名工作表,那么运行时错误’1004‘就不期而遇的跳了出来。 老规则 —— 先删除再创建,...
  • 目录 示例: 实现代码1 行和列的隐藏 实例代码2 ...现希望筛选出销往印度尼西亚的所有销售记录,并隐藏其他销售记录,该如何用VBA实现? 日期 产销国 地区 出口金额 2010/1/1 韩国..
  • 有同学问:能不能使用union函数将符合条件的单元格所在行全部选中,然后删除. 如下图:删除黄色底纹的标题行 为此,给出代码如下: Sub test() Dim arr, myrow As String Dim cc As Variant, ran As Range r = Sheet...
  • word 2010 宏的使用Word中对宏的定义Word宏的优缺点Word宏运用实例---批量提取word数据结语 Word中对宏的定义 Microsoft Word中对宏定义为:“宏就是能...说到Word宏,就不得不提出VBA,宏和VBA本质相同,都是使用VB
  • 删除文本 引用文本 H 2 O is是液体。 2 10 运算结果是 1024. 插入链接与图片 链接: link . 图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我们为了让用户更加便捷,...
  • VBA基础知识整理(字典,自定义函数)

    千次阅读 多人点赞 2019-05-13 16:40:59
    '1 什么是VBA字典? '字典(dictionary)是一个储存数据的小仓库。共有两列。 '第一列叫key , 不允许有重复的元素。 '第二列是item,每一个key对应一个item,本列允许为重复 'Key item 'A 10 'B 20 ...
  • 动态添加和删除VBA代码过程

    千次阅读 2018-02-27 00:31:32
    VBA代码删除代码,是自相残杀吗?非也,是定点清除,呵呵 言归正传,VBA是个不错的开发工具,一般情况下,程序猿开发测试代码之后,才会将Excel文件分发给最终的用户,此时代码已经保存在文件中,属于已经完成的...
  • VBA删除如下内容,解决思路都不同 删除1列的空行(本文要做的) 删除整个区域内的空行 删除整个区域内的空格(这个一般很少有这种需求,用处不大----可用currentregion .specialcells()解决) 下...
  • Sub 删除() Rows(1).Delete '删除当前工作表的第1行 End Sub ************************* 原始表格:如下表所示,比如我们要删除所有的表头,该如何操作? 出差人 出差时间 出差地点 交通工具 1 1 1 1 出差人 出差...
  • VBA常用技巧

    2014-12-21 16:39:28
    技巧30 工作表中一次插入多行 12 技巧31 删除工作表中的空行 12 技巧32 删除工作表的重复行 12 技巧33 定位删除特定内容所在的行 12 技巧34 判断是否选中整行 12 技巧35 限制工作表的滚动区域 12 技巧36 复制自动...
  • 使用Excel VBA操作当然是又准确又高效了。 第一种方式是:1、首先获取最后一行数据所在行数;2、从最后一行开始到第一行逐行检查是否是有效数据行,如果不是则整行删除;3、运行的结果就仅剩有效数据
  • excel VBA 拆分行

    2020-10-20 15:41:29
    =xlUp '删除行 i = i - 1 Else 'MsgBox "没有找到" End If If i > Sheet1.UsedRange.Rows.Count Then Exit For End If Next End Sub Public Function ArrayLength(ByVal ary) As Integer ArrayLength = UBound(ary) ...
  • 按照项目需求,参考网上资源,实现了VBA宏控制Excel 按行插入和删除的事件处理,插入行后的单元格合并以及实现通过单元格的动态条件公式自动计算功能。
  • 最近的项目中,用到了很多Excel的VBA宏功能,用户的新需求也有很多需要用VBA宏来实现。为满足业务需求, 自己搜索网上的相关资料,尝试不同的解决方法,最终解决了用户的需求,在此记录下来,做一个总结,也希望能...
  • Excel VBA技巧实例手册

    2016-07-28 22:29:39
    第1篇 ExcelVBA基础 第1章 了解Excel宏 1.1 创建宏 技巧001显示“开发工具”选项卡 技巧002录制第一个宏 技巧003在VBE中创建宏 1.2 管理宏 技巧004运行宏 技巧005编辑宏 技巧006保存宏 技巧007设置宏的安全性 第2...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 822
精华内容 328
关键字:

vba删除多行