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

    猜你喜歡