Excel VBA 7.71按照类别插入空行,插入多个合计项就这么简单

按照类别插入空行,插入多个合计项就这么简单


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

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

一起学习,一起进步~~


今天我们继续来玩转下工作表的行列,之前我们插入行列的时候都是随机插入的,并没有说一定要达到什么样的目的,在日常的工作中使用的比较的少,那么今天我们就来接触一个日常工作表中比较常用的功能,也是和插入行列有关的,今天我们要按照类别来插入空行,相同类别才会插入一个空行,然后就可以添加合计、汇总等相应的字段了。

场景说明

这就是我们今天大致要形成的一个效果,按照班级列来进行区分,当前后两个班级不同的时候,我们就在中间插入一个空行,并且设置一个汇总的字段

代码区

Sub kongh()Dim rng As Range, Frng As Range, a As Range, trng As RangeSet rng = Application.InputBox("请选择参照行", "参照行的选择", , , , , , 8)Set Frng = rng(1)k = 0For Each a In rng.Offset(0.1) If a <> Frng Then k = k + 1 If k = 1 Then Set trng = a Set Frng = a Else Set trng = Union(trng, a) Set Frng = a End If End IfNext atrng.Selecttrng.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbovetrng.Offset(-1, 0).Value = "合计"l = Cells(Rows.Count, rng.Column).End(xlUp).RowCells(l + 1, rng.Column) = "合计"End Sub

从上面的动图中可以看出来,代码已经成功的实现了我们的要求,按照类别,也就是班级列进行区分,一旦出现不同就插入一行,并且增加一个字段,叫做合计

这样我们就可以轻松的针对每个班级的成绩进行汇总了,省去了不断手工插入的麻烦。

代码解析

来看看今天的代码解析

其实老实说,今天的代码并不算很难,相反如果前面学习的足够的细致的话,本节还是非常的简单的,我们这里里利用的知识点都是前面接触过的,比方说判断类别前后是否相同

在之前我们拆分工作表的也运用了很多次这样的方法了,通过设置起始单元格,然后在循环的过程中,不断的和起始单元格进行判断,直到碰到不一样的单元格

找到了目标单元格之后,我们就需要立刻初始化起始单元格,然后再次进行新的循环一次类推,这样我们就到了每一个不同类的起始单元格了。

有了这一个个的起始单元格,然后就可以利用前几天刚刚学习过的插入空行的方式,在每个单元格的上方插入一个空行,并且针对单元格内容进行操作

增加合计字段,用自动的方式代替手工输入,大大的提升了效率。虽然就是简单的插入几行,并且添加一个字段

用VBA操作,速度要快10倍,而且准确无误!

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

(0)

相关推荐