通过Excel VBA对序列实现自动分级

初探VBA,了解到Excel宏的趣味性。作者分享了编写的第一段宏代码,用于实现序列的八级分级。然而,代码可读性欠佳,尤其是在处理If-else和多层循环时,逻辑易混淆。同时,宏在分级过程中有时会出现分级显示但无+-号的问题。
摘要由CSDN通过智能技术生成

第一次接触VBA,原来Excel有这么有趣的功能。倒腾了一天写了第一个宏,功能是实现了,但代码的可读性实在是差了一些。

VBA的语法比较容易理解的,在写If-else的时候,由于没有循环之间的层级不是特别明显,如果循环体过多,后期修改非常容易破坏分支之间的逻辑关系。此外,excel在通过宏分级的时候,会出现分了级但没有+-号的情况,具体原因有待研究。

八个层次的分级实现:

代码如下:

Sub GroupCells()
Dim myRange As Range
Dim rowCount As Integer, currentRow As Integer
Dim firstRow As Integer, lastRow As Integer
Dim currentRowValue As String
Dim neighborColumnValue As String
Dim findstr As String
Dim totalChapter As Integer, chapter As Integer, level As Integer

Set myRange = Sheet1.Range("A65536")
rowCount = Cells(Rows.Count, myRange.Column).End(xlUp).Row

findstr = "."

firstRow = 1
lastRow = 0
total = 1
For currentRow = 1 To rowCount
   currentRowValu
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值