Excel VBA 7.68批量插入多列,可以很慢,右键一列列的插入!也可以很快,1秒插入多列

批量插入多列,可以很慢,右键一列列的插入!也可以很快,1秒插入多列


点击上方“Excel和VBA”,选择“置顶公众号”

致力于原创分享Excel的相关知识,源码,源文件打包提供

一起学习,一起进步~~


在使用工作表的过程中,不可避免的会需要和行列打交道,比方说有时候我们需要在数据表中间插入多列空白列,然后在补充新的数据进入数据表中,插入多列的方法有很多种,效率自然也不相同,有的很快,有的很慢,大家都知道我们的目标是高效办公,那么能高效到什么程度呢?

场景说明

这是今天我们的数据源,我们现在希望在其中增加几列,假设我们是希望在C列的前面增加10列,来看看可以如何实现吧

手工法

其实看起来手工插入并不算是很麻烦,只需要先选择好要插入的行数之后,直接右键就可以实现插入了。

唯一的一个小瑕疵就是如果需要插入的列数比较多的话,在选择列数的时候,需要数好数,不然多了要删除,少了还要增次再次插入,比较的麻烦,来看看VBA的方法

代码区

Sub kongh()Dim rng As Range, TargetCol$, num$Set rng = Application.InputBox("请选择参照列", "参照列的选择", , , , , , 8)TargetCol = rng.Columnnum = Application.InputBox("请输入要插入的行数", "行数的确定", , , , , , 3)For i = 1 To num ActiveSheet.Columns(Int(TargetCol)).InsertNext iEnd Sub

依然是比较的简单,来看看效果如何

实现的效果是完成相同的

代码分析

首先先说明一下,我们这里为什么要学习用VBA插入

其实从上面的两个动图中,我们可以发现,效果相对而言都是差不多的,但是vba实现的好处就是比较的方便快速,不需要拖动鼠标去选择列数

如果需要插入的列数比较的少,两者的效果几乎无差异,但是如果数据比较大,插入的列数比较的多的时候,相对的VBA会更加准确高效。

来看看代码

inputbox应该已经不需要多说了。

然后我们通过 rng.Column得到我们选择的列在整个工作表的位置,即第几列。需要注意,这里获得的列数是相对于整个工作表,并不是相对于数据区的

举个例子

这样大家应该就比较的清楚了,虽然我们选择的列在整个数据区是第三列,但是通过 rng.Column得到的结果是相对于整个工作表的位置,即第5列。

既然有了我们要插入的位置了,那么剩下利用一个小循环的方式就可以 实现批量插入多列了。

For i = 1 To num ActiveSheet.Columns(Int(TargetCol)).InsertNext i

sheet.columns(行数).insert代表的就是在某列插入一列的意思。是该列的左边哦。

好了。今天我们就成功的实现了通过VBA插入多列的要求了。可能有些小伙伴们还是不太相信VBA插入的效果会更加的好,那么明天我们来学习下如何隔行插入空白列。这个。。鼠标想要快速实现就很难咯

==========================

本节课的案例源码已经上传,需要的小伙伴后台私信“7-68-OK”,希望大家多支持~~,多多关注 ~ ~

好了,明晚21:00,准时再见!


因为公众号没有留言功能(开的比较晚),所以建立一个线下微信群,主要为大家提供一个交流的平台,同时大家也可以提一些对公众号的意见和看法,大家一起学习,一起进步。

(0)

相关推荐