Excel使用VBA程序自动换行
来源:网络收集 点击: 时间:2024-04-06打开Excel表格后,在工作表标签(Sheet1)上面单击右键,选择“查看代码”。

在VBA编辑器的“Sheet1”代码窗口里边输入以下程序代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sro, sco, ro, co
On Error Resume Next 忽略运行时可能出现的错误
Application.EnableEvents = False 开启代码只执行一次
Set mysheet1 = ThisWorkbook.Worksheets(Sheet1)
sro = Selection.Row 选择单元格所在的行
sco = Selection.Column 选择单元格所在的列
If sro 1 And sco 1 And sco = 10 Then 如果所选的单元格为第二行起,B~J列之间,则
ro = Target.Row 获取改变单元格所在的行
co = Target.Column 获取改变单元格所在的列
If co = 10 Then 如果已经到达J列,则
mysheet1.Cells(ro + 1, 2).Select 换行,选择下一个单元格
End If
If co 1 And co 10 Then 如果只在B-I列,则
mysheet1.Cells(ro, co + 1).Select 选择右边单元格
End If
End If
Application.EnableEvents = True 恢复代码只执行一次
End Sub

程序代码、思路解读:
(1)“Private Sub Worksheet_Change(ByVal Target As Range)”是在单元格内容改变时才会自动里边的程序,“Target”是对单元格进行追踪;
(2)先判断所选的单元格是否在要处理的范围内,再决定是否要执行自动换行,这样既可以提高运行速度,又不影响超出该范围的单元格的正常操作。
4/4在指定区域的单元格里边输入内容时,单元格会根据所需换行。(只有改变单元格内容,按回车键才会向右选择单元格,否则将会向下选择)

个人经验,经供参考,不足之处,敬请谅解。
EXCEL编程语言版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_449072.html