Excel - VBA的隔行拷贝功能

这篇具有很好参考价值的文章主要介绍了Excel - VBA的隔行拷贝功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现在有个需求,要把2,3,4列内容隔行拷贝:

Excel - VBA的隔行拷贝功能

拷贝完效果:

Excel - VBA的隔行拷贝功能

 

 

如果行数较少,那手动Ctrl+C/V即可,但如果很多行的话,就应该想办法减少重复工作,提高效率,叫做磨刀不误砍柴工。

所以,先把手动操作录制一个宏,在此基础上再使用VBA编程修改一下。

Excel - VBA的隔行拷贝功能

因为要在多个Workbook中使用,所以我们保存在Personal Macro Workbook中。这个文件平时是隐藏了,专门用来保存全局的宏,所以要解除隐藏一下:

Excel - VBA的隔行拷贝功能

Excel - VBA的隔行拷贝功能

可以在宏菜单中选择Edit:

Excel - VBA的隔行拷贝功能

然后就可以在VBE中查看宏的代码,录制的宏的代码如下:

Sub CopyLine()

'

' CopyLine Macro

' Copy the current content to the next row.

'

' Keyboard Shortcut: Ctrl+M

'

    Range("C4:E4").Select

    Selection.Copy

    Range("C5").Select

    ActiveSheet.Paste

End Sub

我们看到,这个操作是固定位置的,我们将位置改成当前选中的位置,再指定合适的大小,就能完成自动拷贝。

改完的代码如下:

Sub CopyLine()

'

' CopyLine Macro

' Copy the current content to the next row.

'

' Keyboard Shortcut: Ctrl+M

'

    Range(Selection, Selection.Offset(0, 2)).Copy

    Range(Selection.Offset(1, 0), Selection.Offset(1, 2)).Select

    ActiveSheet.Paste

End Sub

这样,选择某个单元,然后运行这个宏,就会把连着的3个单元格内容,拷贝到下一行。

这里内容的长度是写死的,固定拷贝3个单元格内容。

参考内容:

在VBE中,菜单中选择Help -> Microsoft Visual Basic For  Application Help,或者直接按下F1,则会访问微软官方帮助文档:

Develop solutions and customize Excel | Microsoft Docs

依次选择“Excel VBA reference” -> "Object model reference" -> "Range object"。

然后就可以查看Range对象的方法和属性,还可以点开“Range and Cells properties of the Worksheet object”,查看Range的构造方法。

点击Worksheet object的Range属性:Worksheet.Range property (Excel) | Microsoft Docs

查看Range对象的语法如下:

expression.Range (Cell1, Cell2)

expression这个表达式是一个表示Worksheet对象的变量。

通常情况下,Cell1和Cell2是两个最小单元格,分别代表Range的左上角和右下角,上面的例子使用的是Selection来作为参数。

在代码中,右键代码中的变量,可以查看某个object的定义:

Excel - VBA的隔行拷贝功能

提示对象被隐藏:

Excel - VBA的隔行拷贝功能

所以要unhidden一下:

Excel - VBA的隔行拷贝功能

这时就有定义了:

Excel - VBA的隔行拷贝功能

我们看到是Excel.Global的成员,实际就是Excel.Application的成员。

找到这个对象的引用,也可以在任意处点击右键,直接打开对象浏览器,搜索Selection,找到包含这个Selection对象的库:

Excel - VBA的隔行拷贝功能

Excel - VBA的隔行拷贝功能

我们看到有5个Selection对象,但前面的库是不同的,我们上面代码使用的其中一个库的对象。

使用不库的对象时,其引用方式不同,可以加上完整的名字,可以认为术语不同的命名空间,比如上面代码的完整Selection的引用是:

Range(Excel.Application.Selection, Excel.Application.Selection.Offset(0, 2)).Select

这时右键查看这个对象的帮助信息:

Excel - VBA的隔行拷贝功能

打开的网页:

https://docs.microsoft.com/en-us/office/vba/api/excel.application.selection?f1url=%3FappId%3DDev11IDEF1%26l%3Den-US%26k%3Dk(vbaxl10.chm183107)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue

我们操作中的Selection是一个Range对象,所以可以调用Offset方法来构造另外的Range Object。

Excel - VBA的隔行拷贝功能

(完)文章来源地址https://www.toymoban.com/news/detail-513635.html

到了这里,关于Excel - VBA的隔行拷贝功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 用了这么久 IDEA ,你竟然不知道有个功能叫自动补全!

    来源: https://dwz.cn/hlQEDFne IDEA 有个很牛逼的功能,那就是后缀补全(不是自动补全),很多人竟然不知道这个操作,还在手动敲代码。 这个功能可以使用代码补全来模板式地补全语句,如遍历循环语句(for、foreach)、使用 String.format() 包裹一个字符串、使用类型转化包裹一个

    2024年02月08日
    浏览(11)
  • EXCEL VBA从入门到精通 第一章:VBA入门

    介绍VBA的定义,作用和优点。 VBA(Visual Basic for Applications)是一种编程语言,是微软Office套件中的一个重要组成部分,主要用于自动化处理Office中的各种操作,包括Excel、Word、PowerPoint、Outlook等。 VBA是一种基于VB(Visual Basic)语言的编程语言,它具有简单易学、功能强大、灵

    2024年02月07日
    浏览(14)
  • 掌握 Microsoft Excel 宏和 Excel VBA

    掌握 Microsoft Excel 宏和 Excel VBA

    掌握 Microsoft Excel 宏和 Excel VBA 基于项目的 Excel VBA(Visual Basic for Applications)和 Excel 宏课程 课程英文名:Master Microsoft Excel Macros and Excel VBA 此视频教程共27.0小时,中英双语字幕,画质清晰无水印,源码附件全 课程编号:286 百度网盘地址:https://pan.baidu.com/s/1ivLIGKt_3R0wncmCswMTR

    2024年02月05日
    浏览(6)
  • Excel VBA 语法基础

    VBA(Visual Basic for Applications)是一种用于宏编程和自动化任务的编程语言,广泛应用于 Microsoft Office 套件中的各种应用程序,如 Excel、Word 和 PowerPoint。掌握 VBA 基础语法可以帮助您通过编写自定义的宏来增强和自动化这些应用程序的功能。 本文将介绍 Excel VBA 的基础语法,帮

    2024年02月09日
    浏览(9)
  • Excel+VBA帮助

     目录 一、VBA 入门知识 1、激活工作簿 2、创建新工作簿 3、打开工作簿 4、用编号引用工作表 5、用名称引用工作表 6、将文档保存为 Web 页 7、用 A1 样式的记号引用单元格和单元格区域 8、用编号引用单元格 9、引用行或列 10、用快捷记号引用单元格 11、引用命名单元格区域

    2024年02月05日
    浏览(9)
  • 【一】Excel VBA开发 初探

    【一】Excel VBA开发 初探

    1、点击Excel左上角的【文件】,然后点击文件下方的【选项】 2、【Excel选项】中点击【自定义功能区】,右边勾选【开发工具】,点击【确定】  3、返回excel sheet 页面。点击【开发工具】,我们将看到三个我们开发过程中必用的按钮,分别是:【Visual Basic】、【宏】、【录制

    2024年02月11日
    浏览(8)
  • VBA技术资料MF36:VBA_在Excel中排序

    VBA技术资料MF36:VBA_在Excel中排序

    【分享成果,随喜正能量】一个人的气质,并不在容颜和身材,而是所经历过的往事,是内在留下的印迹,令人深沉而安谧。所以,优雅是一种阅历的凝聚;淡然是一段人生的沉淀。时间会让一颗灵魂,变得越来越动人。控制自己的脾气,做一个有修养的人。。 我给VBA的定义

    2024年02月15日
    浏览(9)
  • VBA技术资料MF35:VBA_在Excel中过滤数据

    VBA技术资料MF35:VBA_在Excel中过滤数据

    【分享成果,随喜正能量】好马好在腿,好人好在嘴。不会烧香得罪神,不会讲话得罪人。慢慢的你就会发现,一颗好心,永远比不上一张好嘴。。 我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。

    2024年02月14日
    浏览(11)
  • VBA技术资料MF43:VBA_Excel中自动填充

    VBA技术资料MF43:VBA_Excel中自动填充

    【分享成果,随喜正能量】以时寝息,当愿众生,身得安隐,心无动乱。愿我们都能,梦见幸福!在踉跄中前进,在跌倒后跃进,逐渐强大.。 我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的

    2024年02月12日
    浏览(10)
  • EXCEL VBA获取幸运数字号码

    以下就是VBA幸运号码产生的程序,复制粘贴到VBA代码框即可运行

    2024年01月21日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包