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

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

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

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的定义:

提示对象被隐藏:

所以要unhidden一下:

这时就有定义了:

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

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

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

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

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

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

打开的网页:

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。

通常情况下,Cell1和Cell2是两个最小单元格,分别代表Range的左上角和右下角,上面的例子使用的是Selection来作为参数。我们看到,这个操作是固定位置的,我们将位置改成当前选中的位置,再指定合适的大小,就能完成自动拷贝。我们看到有5个Selection对象,但前面的库是不同的,我们上面代码使用的其中一个库的对象。我们看到是Excel.Global的成员,实际就是Excel.Application的成员。这样,选择某个单元,然后运行这个宏,就会把连着的3个单元格内容,拷贝到下一行。
心得(4):怎么利用 VBA 选定 excel 中的特定区域或者特定的点,并得到它的值 问题:1.如何选定 excel 中特定的点或者区域;2.如何按方向(自上而下,自左而右。) 选取特定的点: 结果如下: 除了上述的方式还有以下方式: Sub 选取点() ThisWorkbook.Sheets(1).Range("a1") ThisWorkbook.Sheets(1).Cells(1, ...
我可以提供一个关于如何使用 VBA 代码将剪贴板内容 粘贴 在光标位置的示例:Sub PasteFromClipboard() 'Inserts text from the clipboard into the active worksheet at the cursor location ActiveSheet.Paste End Sub
### 回答1: " excel - vba 教程完全版.pdf"是一份非常详细的 Excel VBA 教程。它包含了许多实例和示例,解释了 Excel VBA 的基本概念和语法,以及如何使用 VBA 编写各种 Excel 宏。这份教程既适合初学者学习,也适合中级和高级用户作为快速参考手册使用。 该文档的存储位置是阿里云盘,这意味着你可以随时随地使用云盘进 访问。同样,这也意味着你可以下载该文档并将其保存到任何设备上,以便您在离线时仍然可以学习和参考。 无论你是需要学习 Excel VBA 来改进自己的工作,还是需要了解 Excel VBA 的基础知识作为一个数据处理或业务分析的工作要求,这个教程都非常优秀。如果你愿意花时间学习和实践,并跟随教程完成练习,你将成为一个熟练的 Excel VBA 程序员,能够编写更加复杂和高效的 Excel 宏。所以,这个教程是非常值得推荐的。 ### 回答2: excel - vba 教程完全版.pdf是一本关于 Excel VBA 编程的教程,涵盖了许多内容,适合想要学习 Excel VBA 编程的初学者以及希望深入了解的进阶者。这本教程从基础概念开始,逐步深入,涵盖了 VBA 开发环境、数据类型、变量、运算符、控制结构、数组、函数等多个方面的内容。 此外,本教程还详细介绍了 Excel VBA 中常用的对象,如Workbook对象、Worksheet对象和Range对象等,以及它们的属性和方法的使用方式。同时,本教程还介绍了经典的 Excel VBA 编程技巧,如错误处理、调试技巧、宏录制等,让读者能够掌握高效、优化的编程方法。 总体来说, excel - vba 教程完全版.pdf是一本较为全面的 Excel VBA 编程教程,对于 Excel VBA 编程感兴趣的人来说,是一本不可多得的学习资料。而作为阿里云盘上的一个资源,其存储空间也方便了用户在任何地方都可以随时下载和阅读,为 Excel VBA 编程爱好者提供了便利。 ### 回答3: excel - vba 教程完全版.pdf是一份非常优秀的 Excel VBA 教程资源,非常适合希望学习如何使用 Excel VBA 编程的人。这份教程详细地介绍了 VBA 的各种基础和高级知识,包括如何使用 VBA 编写宏、创建用户界面以及使用各种对象、方法和属性等等。这份教程内容丰富、结构清晰、易于理解,对于初学者而言也非常友好。 在阿里云盘上获取这份教程也非常便捷和方便。用户只需要通过阿里云盘的下载链接即可下载教程文档,并可以在自己的电脑上进 阅读和学习。阿里云盘作为一种云存储服务,具有高速稳定、容量大等特点,因此不必担心下载速度和下载文件的稳定性问题。 总之, excel - vba 教程完全版.pdf是一份非常优秀的 VBA 教程资源,对于想学习如何使用 Excel VBA 编程的人而言是一份极佳的教程材料。而且,通过阿里云盘可以轻松地获取这份教程资源,非常方便和实用。