Xin nhờ giúp đỡ về macro

Liên hệ QC
Tóm lại là phụ thuộc vào thiết lập CP, phiên bản office không quyết định.
Vâng, cái đó là khá mới với em. Thầy cho em hỏi thêm là có 1 vùng tô màu highlight và khi em chạy macro em không muốn vùng highlight đó bị ảnh hưởng thì có được ko?
 
Vâng, cái đó là khá mới với em. Thầy cho em hỏi thêm là có 1 vùng tô màu highlight và khi em chạy macro em không muốn vùng highlight đó bị ảnh hưởng thì có được ko?
Nếu chỉ 1 CHỮ thì [a-z] (tức bỏ @), nếu chỉ 1 SỐ thì [0-9] (tức bỏ @)

Chỉ thay ở những chỗ không highlight
Mã:
Sub thay()
    Selection.Find.ClearFormatting
    Selection.Find.Highlight = False
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "&([a-z]@ = [0-9]@)&"
        .Replacement.Text = "\1"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
 
Nhờ thầy @batman1 chỉ cách thay chỉ số dưới. Vd như Smax thành Smax với chữ max là chỉ số dưới ạ (ctr ship +). Cảm ơn thầy.
 
Lần chỉnh sửa cuối:
Bạn thử xem.

Bạn nên đọc help và thử tự làm. Đọc chỗ nào thì tôi từng viết cho bạn.

Tôi hiện nay xa nhà một thời gian nên không có điều kiện giúp ai.
Mã:
Sub thay()
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find.Replacement.Font
        .Superscript = False
        .Subscript = True
    End With
    With Selection.Find
        .Text = "(max>)"
        .Replacement.Text = "\1"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
 
Bạn thử xem.

Bạn nên đọc help và thử tự làm. Đọc chỗ nào thì tôi từng viết cho bạn.

Tôi hiện nay xa nhà một thời gian nên không có điều kiện giúp ai.
Mã:
Sub thay()
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find.Replacement.Font
        .Superscript = False
        .Subscript = True
    End With
    With Selection.Find
        .Text = "(max>)"
        .Replacement.Text = "\1"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Cám ơn thầy rất nhiều :)
 
Web KT
Back
Top Bottom