NO.1
缩进在文档或表格编辑中是一个美化文档和表格的一种普遍方法。
Excel中在"设置单元格"功能对话框中就可以方便地对表格进行缩进设置。
本节将主要介绍,如何利用vba代码来实现这个功能。
![c7bf2c630fc6cee030f98bf991018738.png](https://img-blog.csdnimg.cn/img_convert/c7bf2c630fc6cee030f98bf991018738.png)
NO.2
Insertindent方法
如上图所示,此方法是基于Range对象,可以对缩进量进行增减操作。
语法、参数如下图
![0ccda8d62d0b363413df383a3eb28758.png](https://img-blog.csdnimg.cn/img_convert/0ccda8d62d0b363413df383a3eb28758.png)
其后面只有一个Long型参数值。它有一个范围不能随意增加或减少。
另一个属性将限制缩进量增加和减少的范围,如下图所示:
![1a91adc069a009ebb321d0dae6486a28.png](https://img-blog.csdnimg.cn/img_convert/1a91adc069a009ebb321d0dae6486a28.png)
NO.3
IndentLevel属性
这个属性代表单元格的缩进量,是一个相对固定值,它的范围是0-250之间,由于Excel版本不同,可能其范围也不一样,官网上介绍范围为0-15,本地测试Excel2016版本范围0-250。
范围值(0-250)代表字符数。
IndentLevel属性可以设置,也可以返回单元格的缩进量,两个作用。所以,如果想知道当前单元格的缩进量是多少,用IndentLevel返回。
NO.4
示例
![a7886af5a9ffba750ad7fb1102dd773a.png](https://img-blog.csdnimg.cn/img_convert/a7886af5a9ffba750ad7fb1102dd773a.png)
上图做了一个示例,以体现缩进值如何设置和改变。
具体怎么操作,代码里做详细过程。
示例中有四个功能按钮,分别为无缩进、增加缩进、减少缩进和最大缩进。
可以实现,设置缩进为0或最大值250,任意选择缩进值选择框ComboBox设置缩进值。
NO.5
代码
无缩进
With Range("B1") .IndentLevel = 0End With
将B1单元格缩进值设置为0,也就是没有缩进。
![a3414253321e7d044b16a2ae2ac7269f.png](https://img-blog.csdnimg.cn/img_convert/a3414253321e7d044b16a2ae2ac7269f.png)
最大缩进
With Range("B1") .IndentLevel = 250End With
将B1单元格缩进值设置为250,最大缩进值。
如果你的应用出现报错请相应减少缩进值。
增加缩进
With Range("B1") MsgBox "当前缩进量: " & .IndentLevel If .IndentLevel = 250 Then Exit Sub If .IndentLevel + getIns > 250 Then MsgBox "缩进太多了!": Exit Sub If getIns = 0 Then Exit Sub .InsertIndent getInsEnd With
增加缩进其实就一行代码就可以实现,.Insertindent getins,为了程序运行不出错增加了一些容错处理,getins是一个函数,它将返回一个long值,代表缩进增加或减少的值。
减少缩进
With Range("B1") ' MsgBox "当前缩进量: " & .IndentLevel If .IndentLevel = 0 Then Exit Sub If .IndentLevel < getIns Then MsgBox "不能减了!": Exit Sub If getIns = 0 Then Exit Sub .InsertIndent -getInsEnd With
减少缩进和增加一样,只不过要注意一点,减少是负值,所以缩进量一定设置小于0。
如:.InsertIndent -1减少一个缩进量。
getins函数
Private Function getIns() As LongDim x As Variantx = ActiveSheet.OLEObjects("ComboBox1").Object.ValueIf Not VBA.IsNumeric(x) Then getIns = 0: Exit FunctionIf x <= 0 Then getIns = 0: Exit FunctionIf x > 250 Then getIns = 0: Exit FunctiongetIns = xEnd Function
getins函数功能是返回一个缩进值,其值取自表中ComboBox综合框的值,也可以设置为其它单元格的值或列表等等,甚至是数组。在于自己的习惯进行处理。注意一点,这个值一定是个整数,正负无所谓,大小也无所谓,函数内部做了超范围处理。
本节介绍了一个方法、一个属性,可能有一些混淆。
重点琢磨清楚下面这句话:
方法是对缩进量进行调整,属性是对缩进值进行设置和返回。
Insertindent方法
IndentLevel属性
最好还是自己多实践操作,自然明了。
---END---
欢迎关注、收藏