Giúp tạo macro gạch chân chữ cái (1 người xem)

Người dùng đang xem chủ đề này

tranlam1609

Thành viên mới
Tham gia
15/8/09
Bài viết
3
Được thích
0
Dữ liệu trong bảng tính của tôi có dạng kí hiệu của phần gạch chân ví dụ: n<u>o</u>vel nghĩa là chữ cái ở giữa 2 kí hiệu <u> và </u>được hiểu là gạch chân: novel. Do không kiến thức về marco lên công việc chuyển đổi là rất mất nhiều công sức. Vậy rất mong anh em trong diễn đàn giúp tôi tạo một macro để khi chạy thì có thể chuyển dạng như: d<u>o</u>llthành doll. Vô cùng cảm ơn!
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn xem trong file;

Mình chuyển thành cột, không biết có tiện cho bạn không nữa.
 

File đính kèm

Upvote 0
Cảm ơn bạn rất nhiều. Do bảng tính có nhiều dòng dữ liệu ngang liền nhau nên mình mong các bạn giúp mình viết code mà không phải chuyển thành một cột, cứ xuất hiện dữ liệu như vậy ở một nơi bất kì trong bảng tính là thay thế. Và nếu có thể thay thế trực tiếp tại ô cũ thì vô cùng tuyệt vời.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn copy toàn bộ macro này đè lên cái cũ & cho chạy thử xem:
PHP:
Option Explicit
Sub GachChanTaiCho()
 Dim VTr1 As Byte, VTr2 As Byte, MyColor As Byte
 Dim Cls As Range
 Dim Tmp As String
 
 Randomize:         MyColor = 3 + 7 * Rnd() \ 1
 For Each Cls In Sheet1.UsedRange
    Tmp = Cls.Value
    VTr1 = InStr(Tmp, "<")                    '2'
    If VTr1 Then
        VTr2 = InStr(VTr1 + 1, Tmp, "<") - 3      '3'
    
        Tmp = Replace(Replace(Tmp, "</u>", ""), "<u>", "")
        With Cls
            .Formula = Tmp
            With .Characters(Start:=VTr1, Length:=VTr2 - VTr1).Font
                .Underline = xlUnderlineStyleSingle
                .ColorIndex = MyColor
            End With
        End With
    End If
 Next Cls
End Sub
 

File đính kèm

  • BachDuong.jpg
    BachDuong.jpg
    55 KB · Đọc: 27
Upvote 0
Code bạn HYEN17 viết rất đúng với mong muốn của mình. Cảm ơn rất rất nhiều. Do kiến thức VBA không có nên mong các bạn tạo giúp 1 addin từ code của bạn HYen17 có tên trong menu addin là Gachchantaicho. Để mình có thể sửdụng addin này cho nhiều file excel khác, chỉ cần click vào addin rồi click vào Gachchantaicho thế là mọi việc đã xong. Không còn gì tuyệt vời hơn. Kính mong mọi người giúp đỡ.
 
Upvote 0
Bạn nào có E >= 07 => giúp bạn í với.
Macro trên chưa chặt chẽ cho lắm; Nên thay bằng cái này
PHP:
Option Explicit
Sub GachChanTaiCho()
 Dim VTr1 As Byte, VTr2 As Byte, MyColor As Byte
 Dim Cls As Range
 Dim Tmp As String
 
 Randomize:         MyColor = 3 + 7 * Rnd() \ 1
 For Each Cls In Sheet1.UsedRange
    Tmp = Cls.Value
    VTr1 = InStr(Tmp, "<")
    If VTr1 Then
        VTr2 = InStr(VTr1 + 1, Tmp, "<") - 3
        If VTr2 > VTr1 Then                 '<=|'
            Tmp = Replace(Replace(Tmp, "</u>", ""), "<u>", "")
            With Cls
                .Formula = Tmp
                With .Characters(Start:=VTr1, Length:=VTr2 - VTr1).Font
                    .Underline = xlUnderlineStyleSingle
                    .ColorIndex = MyColor
                End With
            End With
        End If                              '*'
    End If
 Next Cls
End Sub


Trong khi chờ đợi thì tìm trên diễn đàn, đọc & tìm hiểu thử đi bạn

Chúc ngày cuối tuần vui vẻ!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Là file xla hay file nào vậy?
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0

Bài viết mới nhất

Back
Top Bottom