MÌnh đã tự sửa được vấn đề với dấu ngoặc rồi. Bây giờ còn vấn đề đó. Tuy dễ nhưng mình không biết, mình là dân gà mà. Xóa khoảng trắng đầu dòng và viết hoa đầu câu. MÌnh có một thắc mắc là vì sao khi mình dùng lệnh copy values only thì font size không còn khác nhau nữa mà đồng thời chuyển về 11?Chết cha!
Hồi nãy tôi đã nói code dựa vào ký tự ( và ) để phân biệt
Giờ xem file của bạn lại thấy thế này:
View attachment 70468
Làm sao đây? Code mà tìm được dấu ( là nó "xuống hàng" liền đó nghen
(Chuyện chữ HOA đầu câu chẳng có gì đáng nói cả.. quá dễ)
Xem lại file mới nàyMÌnh đã tự sửa được vấn đề với dấu ngoặc rồi. Bây giờ còn vấn đề đó. Tuy dễ nhưng mình không biết, mình là dân gà mà. Xóa khoảng trắng đầu dòng và viết hoa đầu câu. MÌnh có một thắc mắc là vì sao khi mình dùng lệnh copy values only thì font size không còn khác nhau nữa mà đồng thời chuyển về 11?
Đúng là tôi có sơ sót (vì chưa nghĩ đến trường hợp bạn chỉnh trước đóNhưng nếu gặp cell như mình đưa trên thì nó không xóa được khoảng trắng đầu dòng bạn à. Bản thử run code với file mình gửi kèm xem.
Sub ChangeFormat()
Dim Clls As Range, Tmp
On Error Resume Next
Application.ScreenUpdating = False
Selection.WrapText = True
For Each Clls In Selection
If InStr(Clls.Value, "(") And Clls.Value <> "" Then
Tmp = Split(Clls.Value, "(")
Tmp(0) = Trim(LCase(Tmp(0)))
Tmp(1) = Trim(Replace(Tmp(1), ")", ""))
Clls.Value = Tmp(1) & vbLf & Tmp(0)
End If
With Clls
Tmp = Split(Clls.Value, vbLf)
Tmp(0) = Trim(UCase(Left(Tmp(0), 1)) & Mid(Tmp(0), 2, 255))
Tmp(1) = Trim(UCase(Left(Tmp(1), 1)) & Mid(Tmp(1), 2, 255))
.Value = Tmp(0) & vbLf & Tmp(1)
.Characters(1, InStr(.Value, vbLf) - 1).Font.Size = 11
.Characters(InStr(.Value, vbLf), 255).Font.Size = 10
End With
Next
Selection.EntireRow.AutoFit
Application.ScreenUpdating = True
End Sub