EXCEL2007单元格使用数据有效性怎么输入回车?

首先说一下文件格式:
Excel2007及更高版本 , 必须用.xlsm格式(启用宏的工作簿)的工作簿文件 。
如果是.xlsx格式的 , 请点击左上角的 文件---另存为---.xlsm格式(启用宏的工作簿)
下面说说下拉菜单:
比如咱们要设置两个下拉选项 , 
选项1是“你好!周末有空吗?一起去钓鱼呀?”
选项2是“好的 , 周末见!“
在设置下拉菜单的序列选项时 , 在需要换行的地方加一个字符进行标识 , 
用一个与这句话不冲突的字符进行标识 , 比如不能用叹号、不能用问号 , 咱们可以用了一个&符号放进去 , 这样写“你好!&周末有空吗?&一起去钓鱼呀?” , 见下图:

EXCEL2007单元格使用数据有效性怎么输入回车?


然后就是添加VBA代码 , 达到自动换行的目的 。
按ALT+F11打开VBA编辑器 , 在编辑器左侧双击对应的工作表名称 , 在右侧粘贴代码 , 比如咱们在Shee2中添加代码 , 见下图:
EXCEL2007单元格使用数据有效性怎么输入回车?


粘贴进代码后 , 检查代码没有需要修改的地方后 , 就可以关闭代码编辑器了 。
效果演示:
当我选择第一个选项后的效果 , 见下图:
EXCEL2007单元格使用数据有效性怎么输入回车?


当我选择第二个选项后的效果 , 见下图:
EXCEL2007单元格使用数据有效性怎么输入回车?


提示:
代码中的Range("A2")意思是指此功能仅对A2单元格生效 。
如果你想让连续区域内的单元格都具备此功能 , 可以改为Range("A2:C10")
如果你想让多个不连续的区域具备此功能 , 可以改为Range("A2,C6,D2:D8")
提示:
代码中的两个&符号 , 必须与你在下拉菜单中用于换行标识的字符一致 。
代码在下边 , 你可以复制:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2")) Is Nothing Then
【EXCEL2007单元格使用数据有效性怎么输入回车?】If Replace(Target, "&", "") <> Target Then
Application.EnableEvents = False
Target.WrapText = True
Target = Replace(Target, "&", Chr(10))
Application.EnableEvents = True
End If
End If
End Sub

    猜你喜欢