大家好,欢迎来到IT知识分享网。
No.1
Excel工具栏中有一个自动换行功能,应该都会使用。
其功能是,当表格宽度一定的情况下,表格内容根据其宽度换行排列。
不会出现超出表格宽度或隐藏截取超出的数据。
这个功能在做表格的时候相当有用,谁都不愿意把内容截取掉,对于超出表格的内容打印出来,也十分不美观。
本节介绍一下如何用VBA代码来实现自动换行功能。
其方法很简单,使用到一个属性:WrapText
属性的内容如下图所示:
No.2
WrapText是Range对象下的一个属性。
使用方法:
Range(“A1”).WrapText=True‘换行
Range(“A1”).WrapText=False‘不换行
设置其值为True表示换行,False为不换行。
似乎也没什么可难理解的,只要把属性名记住就行。
如下以一个简单例子来看一下效果:
No.3
上图例子单击按钮,弹出输入对话框,输入一些数据,确定后自动实现换行。
具体看下代码如何实现这个过程:
Private Sub SetWrapTextRows() ActiveSheet.Cells(1, 1).Offset(1, 0).Resize(Cells.Rows.Count - 1, Cells.Columns.Count).Clear Dim Str As String Str = "ABCDEFGHIJKLMN,这是一个换行例子,根据文字长度不同,设定行宽,自动换行。" Str = InputBox("", "输入数据:", Str) If VBA.Len(Str) = 0 Then MsgBox "没有什么数据,隐藏列!", vbInformation, "提示": Exit Sub Dim cell As Range Set cell = ActiveSheet.Range("B2:B10")'定义数据区域 With cell With .Offset(0, -1) .Formula = "=row()-1" .Borders.LineStyle = 1 .HorizontalAlignment = xlCenter .Font.Bold = True .Interior.Color = RGB(252, 121, 112) End With .Item(1).Value = Str .FillDown .ColumnWidth = VBA.Len(Str) .WrapText = True '设置换行 .Rows.AutoFit .Borders.LineStyle = 1 .HorizontalAlignment = xlCenter .Font.Size = 12 .Interior.Color = RGB(112, 211, 212) End With MsgBox "当前行宽:" & cell.Width, vbInformation, "提示" End Sub
实现自动换行,在程序中对表格的处理有很好的实用性。只要把应该换行的单元区域定义好,然后应用WrapText属性即可。
当然了,些属性还可以返回值,如果一个区域里既有换行单元又有不换行单元,那么就会返回一个Null值。
欢迎关注、收藏。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/84519.html