nguyensang
Thành viên mới
- Tham gia
- 12/1/08
- Bài viết
- 2
- Được thích
- 0
Chú ý chổ in đậm màu đỏ nhé...Theo yêu cầu của công viêc tôi phải thay đổi trật tự các dòng trong cùng 1 ô
Option Explicit
Public Function daochuoi(strText As String)
Dim strText2() As String 'nvson
Dim strText3 As String
Dim i
strText = strText
strText2 = Split(strText, Chr(10))
For i = UBound(strText2) To 0 Step -1
strText3 = strText3 & Chr(10) & strText2(i)
Next i
daochuoi = Right(strText3, Len(strText3) - 1)
End Function
Khi ta Alt + Enter thì đó cũng chính là Wrap text đấy, có điều cái này là ta chủ động cho xuống dòng ở nơi nào đó tùy ý... Còn như gõ bình thường rồi chọn Wrap text thì Excel sẽ tự cân chỉnh theo quan điểm vừa đũ độ rộng cột thì xuống hàng...kongcom đã viết:Mình thì lại cho là không phải Wrap text mà là khi typing họ nhấn Alt+Enter để xuống dòng . Vấn đề là làm sao bẫy được "kí tự " này .
ThuNghi đã viết:Có thể dùng code sau (của NVSon)
Sao đó copy format từ cell nguồn hay format chọn wrap textPHP:Option Explicit Public Function daochuoi(strText As String) Dim strText2() As String 'nvson Dim strText3 As String Dim i strText = strText strText2 = Split(strText, Chr(10)) For i = UBound(strText2) To 0 Step -1 strText3 = strText3 & Chr(10) & strText2(i) Next i daochuoi = Right(strText3, Len(strText3) - 1) End Function
Có thể dùng sự kiện change.
Public Function DaoTuInCell(strText As String)
Dim aText() As String
Dim strTemp As String, i As Integer
aText = Split(strText, Chr(10))
strTemp = aText(UBound(aText))
For i = UBound(aText) - 1 To 0 Step -1
strTemp = strTemp & Chr(10) & aText(i)
Next i
DaoTuInCell = strTemp
End Function
nguyensang đã viết:Mình còn một câu hỏi nhỏ nửa, vì là function nên có lẽ sẽ được gọi trực tiếp trên excel, vậy có cách nào thực hiện lệnh này trực tiếp được không, thú nhận là m biết rất ít về VBE.