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.Column
num = Application.InputBox("请输入要插入的行数", "行数的确定", , , , , , 3)
For i = 1 To num
ActiveSheet.Columns(Int(TargetCol)).Insert
Next i
End Sub
依然是比较的简单,来看看效果如何
实现的效果是完成相同的
代码分析
首先先说明一下,我们这里为什么要学习用VBA插入
其实从上面的两个动图中,我们可以发现,效果相对而言都是差不多的,但是vba实现的好处就是比较的方便快速,不需要拖动鼠标去选择列数
如果需要插入的列数比较的少,两者的效果几乎无差异,但是如果数据比较大,插入的列数比较的多的时候,相对的VBA会更加准确高效。
来看看代码
inputbox应该已经不需要多说了。
然后我们通过 rng.Column得到我们选择的列在整个工作表的位置,即第几列。需要注意,这里获得的列数是相对于整个工作表,并不是相对于数据区的
举个例子
这样大家应该就比较的清楚了,虽然我们选择的列在整个数据区是第三列,但是通过 rng.Column得到的结果是相对于整个工作表的位置,即第5列。
既然有了我们要插入的位置了,那么剩下利用一个小循环的方式就可以 实现批量插入多列了。
For i = 1 To num
ActiveSheet.Columns(Int(TargetCol)).Insert
Next i
sheet.columns(行数).insert代表的就是在某列插入一列的意思。是该列的左边哦。
好了。今天我们就成功的实现了通过VBA插入多列的要求了。可能有些小伙伴们还是不太相信VBA插入的效果会更加的好,那么明天我们来学习下如何隔行插入空白列。这个。。鼠标想要快速实现就很难咯
==========================
本节课的案例源码已经上传,需要的小伙伴后台私信“7-68-OK”,希望大家多支持~~,多多关注 ~ ~
好了,明晚21:00,准时再见!
因为公众号没有留言功能(开的比较晚),所以建立一个线下微信群,主要为大家提供一个交流的平台,同时大家也可以提一些对公众号的意见和看法,大家一起学习,一起进步。