单元格中指定内容标红_按照指定单元格内容进行拆分,想怎么拆就怎么拆
前景提要
好了今天我们来继续玩一下工作表的拆分,之前我们已经尝试了用指定列,指定行的方式来进行工作表的拆分,不知道有没有点燃小伙伴们的拆分热潮呢?之前我在写按照工作表的指定行数进行拆分的时候,就想到一个问题,要是行数不确定,只能按照某个单元格的内存为参照物,如何进行拆分呢?我平时在进行工作表的拆分的时候,时不时也会碰到这样的问题,一般是在月总结的时候会碰到,不知道大家有没有这样的需求,我先分享出来
场景说明
场景说明
这里我们将之前的案例稍微修改一下,更换下场景,这次我们这里放置的是某个班级所有学生历次的考试成绩,不过因为汇总的时候为了方便都是不断的往下新增数据的,并且为了打字方便,姓名都是直接复制的,结果要进行分析的时候,发现这样很难看出来每个学生的成绩变化情况,所以现在我们需要针对总表进行拆分,我们已A1即第一个学生的名字为参照物进行拆分,我们来看看如何实现
代码区
Sub chai()
Dim rng As Range, sth As Worksheet, sthn As Worksheet, pathn$, str$, a As Range
pathn = ActiveWorkbook.Path
Set sth = ActiveSheet
Set rng = Application.InputBox("请选择表头区域", "表头区域的确定", , , , , , 8)
TitleR = rng.Rows.Count
TitleC = rng.Column
TitleColNum = rng.Columns.Count
str = InputBox("请输入参照内容")
l = ActiveSheet.Cells(Rows.Count, TitleR).End(xlUp).Row
CountR = l - TitleR
Set a = Cells(TitleR + 1, TitleC)
For i = TitleR + 2 To lIf Cells(i, TitleC) = str Or i = l Thenk = k + 1Worksheets.Add after:=Worksheets(Worksheets.Count)Set sthn = ActiveSheetrng.Copy sthn.Cells(1, 1)sth.ActivateIf i <> l ThenRange(a, Cells(i - 1, TitleColNum + TitleR - 1)).Copy sthn.Cells(TitleR + 1, 1)ElseRange(a, Cells(i, TitleColNum + TitleR - 1)).Copy sthn.Cells(TitleR + 1, 1)End Ifsthn.Name = "第" & k & "次拆分"Set a = Cells(i, TitleC)End If
Next i
End Sub
来看看代码执行的过程
这已经是套路了。不解释了
输入我们想要的的参照物
然后静候佳音
为了检查方便,我们抽取最后一次的数据来看看
代码分析
来看看今天的代码解析
Set rng = Application.InputBox("请选择表头区域", "表头区域的确定", , , , , , 8)
TitleR = rng.Rows.Count
TitleC = rng.Column
TitleColNum = rng.Columns.Count
常规套路操作,表头数据不规则,我们肯定要获得表头的区域的
str = InputBox("请输入参照内容")
这里就是我们要获得输入的参照物的内容,今天就简单一点,使用inputbox函数来直接实现,相对于inputbox方法,函数的写法要简单多,但是如果有输入内容限制的话,最好还是使用inputbox方法
然后进入我们的循环体
在进入循环之前,我们要先做一件事情
Set a = Cells(TitleR + 1, TitleC)
这一步非常的重要,在我们整个循环体中,a的作用也是非常的大的,他代表的就是我们的参照物A1所在的单元格位置,是不断变化的,但是不管怎变,这个变量所代表的的意义是不变的。
来开始进入循环
我们的循环从A2开始,而不是A1,这里注意这个关键点。
然后进入第一个小循环,不断的往下走,当找到A1的位置之后,我们就有了数据区域,数据区域在哪里呢?
Range(a, Cells(i - 1, TitleColNum + TitleR - 1)).Copy sthn.Cells(TitleR + 1, 1)
结合代码来一起看看,找到A1的位置之后,A1的行数正好就是i的值,但是我们的数据区域不含新的这个A1
所以i-1才是上面的数据的区域的行数,这样答应大家应该能够理解了,后面的获取列数的位置,前面已经说过很多次了,这里容许我稍微偷懒下,略过
然后后面就是循环了,来进入最后一个难点,
就是最后一行的判断,到了最后一行之后,肯定不会再往下循环了,所以也不会在找到一个A1了
这个时候我们既要判断了,如果i=L,,就是总行数的时候,我们就直接将a和最后一行之间的区域放在最后一个工作表中,因为不存在另外一个A1了,所以这里我们要判断是否得到最后一行
这样一来下面代码中的不同,大家就应该能够理解了。
单元格中指定内容标红_按照指定单元格内容进行拆分,想怎么拆就怎么拆相关推荐
- 解决idea中maven plugins标红的问题
解决idea中maven plugins标红的问题 参考文章: (1)解决idea中maven plugins标红的问题 (2)https://www.cnblogs.com/evachen/p/11 ...
- 【IDEA】IDEA中出现下划标红问题应该怎样解决(一种简单方法)
下面以简单的输出"你好"程序为例: 此为正确的程序图: 程序中出现标红错误: 如下为解决步骤: 首先,在标红处单击鼠标右键,出现如下图所示情况后选择第一项Show Context ...
- 获取input内容并回填_超详细的软件测试内容实战
作者:Arnold 链接: 软件测试面试zhuanlan.zhihu.com 来源:知乎 很多人都拿到了不同的学习软件测试学习路线图,但是却不知道其实软件测试更多的需要实战. 谈到实战,我的发言比较 ...
- qt中json构造一个数组_告别撸单元格!我来分享Excel中如何利用一条公式得到一个数组...
来分享一个Excel中小众的大招."小众的大招"--这么说不矛盾.在Excel表格中利用一条公式来得到一个数组是一个高深且晦涩的话题.多数人不懂什么是数组,所以遇到此类文章或应用实 ...
- 如何在EXCEL中查找多个单元格中的多个关键字,多个单元格满足多个条件的行的绿色在线工具
Excel查找,偶尔有情况遇到要在Excel中查找多个单元格的多个关键字(或包含或相等),或多个单元格或列满足多个的条件的行,Excel本身的支撑没有那么灵活.本身我们又对代码不熟悉,有一个方便性的工 ...
- if函数 字体自动标红_发喜糖!REPT函数和图表订婚了~~
小伙伴们早上好呀!今天为大家分享的是REPT函数的应用实例. 案例1:基础用法 左右:按照给定的次数重复显示文本 用法:REPT(文本,重复次数) 搭配:Wingdings字体家族的应用 案例2:条形 ...
- idea lombok安装后还是标红_小辣椒神器Lombok
咱们Java程序员在开发的时候,有大量简单的POJO类,但是这类写出来大量的getter,setter会导致代码太过冗长,我们总是想,是否有更优雅的方式来解决这个问题,其实一直以来,都有一款神器可以帮 ...
- eclipse lombok 标红_无法使Lombok项目在Eclipse上运行
您不仅必须将lombok.jar添加到库中,而且还可以通过双击lombok jar或从命令行run来安装它java -jar lombok.jar.这将为您显示一个不错的安装程序屏幕.选择您的Ecli ...
- idea lombok安装后还是标红_开发效率不高?强烈推荐这十款精选IDEA插件
作者 | 雷架来源 | 爱笑的架构师(ID:DancingOnYourCode) 头图 | CSDN 下载自东方IC 俗话说:"工欲善其事必先利其器",小主从项目实战的角度在众多的idea插件中挑选 ...
最新文章
- 公司--显示效果,多出来的用...
- 两台oracle怎样定期导表数据,定期从Oracle导数据至MySQL
- 从LINQ开始之LINQ to Objects(上)
- 多通道图像的通道分享和合成函数-split、merge
- nginx配置location总结及rewrite规则写法
- 2018ACM-ICPC Asia Nanjing Regional Contest
- 6.2.2 二叉树的创建
- Struts2上传文件的大小设置
- 2012021402
- Struts2(一)之认识struts2
- 可局部放大图片的例子,局部放大图片,javascript局部放大图片
- Atlassian发布Bamboo 6.0和Bitbucket Server 5.0
- 68.TextView设置中划线、下划线
- 基于nao机器人实现语音对话(智能版本)
- 京东(保险)部门直推面经
- 6个UI面试技巧让你轻松入职大公司
- 【3小时学会C语言】横向对比/纵向剖析,轻松学习C语言
- 手机触屏特效Java_手机触屏触摸特效javascript-TouchSwipe(依赖于jquery库)中文说明...
- LLVM IR转CFG
- 计算机驱动安装的几个方法,不会安装驱动有福了,2个方法教你安装驱动程序,非常实用的知识...
热门文章
- Leetcode-Maximum Subarray
- C# 采用线程重绘图形要点记录
- 生成 linq to sharepoint 对象模型sharepoint 母板页
- IEnumerable接口
- double 乘法_老大说:谁要再用double定义商品金额,就自己收拾东西走 | 文末福利...
- php mysql查询出来二叉树的数据_tp框架怎么实现二叉树查询 如图,查询数据库中小明下面的所有人。到底下面多少人,不清楚。 代码如何实现...
- Linux编程 文件操作,linux高级编程(文件操作)
- java sha1hash 算法_javaweb使用sha1算法登录加密的整个过程
- java 局部变量空间 大小_变量作用域-1:局部变量 和成员变量、各种变量内存分配的大小...
- python中json使用方法总结_python中的json总结