Trong file dạng Add-in không đổi được màu chữ.

Liên hệ QC

Cát Lượng

Thành viên tiêu biểu
Tham gia
14/11/18
Bài viết
403
Được thích
66
Em xin được hỏi các thầy, các anh chị, em có 1 filde dạng add-in
Em không thể thay đổi được màu chữ trong nội dung ô đó (vùng khoanh đỏ)
Nhờ các anh chị giúp em ạ!
anh o noi nao.png
 

File đính kèm

  • ok di anh.xlsm
    1.9 MB · Đọc: 6
Dạ em có sử dụng đoạn code :
Mã:
Sub Dao_chu()
Dim k As Long, text As String, s As String
    If TypeName(Selection) = "Range" Then
        If Selection.Parent.Name = "Danh muc NT CVXD" And Selection.Count = 1 And Selection.Column = 5 Then
            text = Application.Trim(Selection.Value)
            k = InStr(1, text, " ")
            s = LCase(Left(text, k - 1))
            k = InStr(k + 1, text, " ")
            s = Application.Proper(Mid(text, Len(s) + 2, k - Len(s) - 2)) & " " & s
            Mid(text, 1, Len(s)) = s
            Selection.Offset(1).EntireRow.Insert
            With Selection.Offset(1)
                .Font.Color = RGB(100, 0, 255)
                .Value = text
            End With
        End If
    End If
End Sub
Sau khi chạy đoạn code nêu trên, thì xuất hiện nội dung ô E15 (code có tác dụng copy nội dung ô số E14 xuống ô số E15 và đổi 02 từ "Phá dỡ" thành "Dỡ phá", và màu chữ trong ô E15 là màu xanh pha tím)
Tiếp tục điền dữ liệu bằng tay vào những dòng khác (từ ô E16 trở đi )thì chữ ở những dòng này không phải là màu mặc định là màu đen mà thành màu như màu ở ô E15, em muốn dòng E16 trở đi khi điền nội dung chữ sẽ có màu mặc định là màu đen chứ không phải như màu ở ô E15 khi chạy code trên .
Anh/ chị giúp em ạ!
Em cám ơn.
so file 02.png
 

File đính kèm

  • ok di anh 02.xlsm
    1.9 MB · Đọc: 3
Lần chỉnh sửa cuối:
Upvote 0
@ Bài #3:

1544773311714.png
-----------------
Đã góp ý vụ đăng cái hướng dẫn viết phần công thức/ code mà mãi không được.

Thấy người ta để cái hướng dẫn to dùng ở trên đầu chuyên mục, đầu chủ đề như này. Bài nào vi phạm là tự động vô thùng rác luôn và ngay.

1544773416047.png
 
Upvote 0
@ Bài #3:

View attachment 209428
-----------------
Đã góp ý vụ đăng cái hướng dẫn viết phần công thức/ code mà mãi không được.

Thấy người ta để cái hướng dẫn to dùng ở trên đầu chuyên mục, đầu chủ đề như này. Bài nào vi phạm là tự động vô thùng rác luôn và ngay.

View attachment 209429
Cám ơn thầy, em đã sửa lại. lần sau em rút kinh nghiệm.
 
Upvote 0
Upvote 0
Dạ em có sử dụng đoạn code :
Mã:
Sub Dao_chu()
Dim k As Long, text As String, s As String
    If TypeName(Selection) = "Range" Then
        If Selection.Parent.Name = "Danh muc NT CVXD" And Selection.Count = 1 And Selection.Column = 5 Then
            text = Application.Trim(Selection.Value)
            k = InStr(1, text, " ")
            s = LCase(Left(text, k - 1))
            k = InStr(k + 1, text, " ")
            s = Application.Proper(Mid(text, Len(s) + 2, k - Len(s) - 2)) & " " & s
            Mid(text, 1, Len(s)) = s
            Selection.Offset(1).EntireRow.Insert
            With Selection.Offset(1)
                .Font.Color = RGB(100, 0, 255)
                .Value = text
            End With
        End If
    End If
End Sub
Sau khi chạy đoạn code nêu trên, thì xuất hiện nội dung ô E15 (code có tác dụng copy nội dung ô số E14 xuống ô số E15 và đổi 02 từ "Phá dỡ" thành "Dỡ phá", và màu chữ trong ô E15 là màu xanh pha tím)
Tiếp tục điền dữ liệu bằng tay vào những dòng khác (từ ô E16 trở đi )thì chữ ở những dòng này không phải là màu mặc định là màu đen mà thành màu như màu ở ô E15, em muốn dòng E16 trở đi khi điền nội dung chữ sẽ có màu mặc định là màu đen chứ không phải như màu ở ô E15 khi chạy code trên .
Anh/ chị giúp em ạ!
Em cám ơn.
View attachment 209425
Bạn chọn E17:E22 -> phải chuột -> Format cell -> thẻ Font. Bạn thiết lập mầu phông chữ là tím mà còn kêu? Hoặc trước đó đã chạy code nên các dòng đó được code thiết lập phông chữ tím. Sau đó xóa nộidung bằng tay, nhưng thiết lập mầu phông chữ lại không chuyển về mặc định bằng tay nên cứ viết gì vào thì lại có mầu tím. :D
 
Upvote 0
Bạn chọn E17:E22 -> phải chuột -> Format cell -> thẻ Font. Bạn thiết lập mầu phông chữ là tím mà còn kêu? Hoặc trước đó đã chạy code nên các dòng đó được code thiết lập phông chữ tím. Sau đó xóa nộidung bằng tay, nhưng thiết lập mầu phông chữ lại không chuyển về mặc định bằng tay nên cứ viết gì vào thì lại có mầu tím. :D
Dạ em cảm ơn thầy, em đã sửa lại được rồi.
 
Upvote 0
Dạ em cảm ơn thầy, em đã sửa lại được rồi.
Thầy ơi, cho em hỏi chút xíu, em đã bỏ "Conditional Formating" đi, nhờ thầy giúp em chỉnh code mà thầy đã viết giúp để khi chạy code, thì dòng chữ màu tím (dang ở dạng chữ đứng) trở thành "Italic" (thuộc tính chữ nghiêng) và cho em hỏi thêm nếu muốn thay đổi màu của chữ thì phải chỉnh sửa phần nào trong code ạ?
Em cám ơn thầy.da.png
 

File đính kèm

  • file em.xlsm
    1.9 MB · Đọc: 2
Upvote 0
Bạn chọn E17:E22 -> phải chuột -> Format cell -> thẻ Font. Bạn thiết lập mầu phông chữ là tím mà còn kêu? Hoặc trước đó đã chạy code nên các dòng đó được code thiết lập phông chữ tím. Sau đó xóa nộidung bằng tay, nhưng thiết lập mầu phông chữ lại không chuyển về mặc định bằng tay nên cứ viết gì vào thì lại có mầu tím. :D
Thầy ơi, cũng cùng chủ đề sửa màu chữ và để có dạng chữ nghiêng"Italic"
Đoạn code dưới đây, sau khi em chạy sẽ tự động chèn 1 dòng trống dưới và điền mã "LMBT"; LMV"......vào ô C ngay dưới dòng đó sau khi lấy dữ liệu ở Sheet "TU KHOA LAY MTN" để đối chiếu (sau khi chạy code xuất hiện dòng 52 )
Mã:
Sub MauTN()
    Dim shdata As Worksheet
    Dim shInfor As Worksheet
    Set shInfor = Sheets("TU KHOA LAY MTN")
    Set shdata = Sheets("Danh muc NT CVXD")
    Dim i As Long
    With shdata
        For i = .Range("E" & .Rows.Count).End(xlUp).Row To 1 Step -1
            If .Range("E" & i) <> "" And .Range("C" & i + 1) = "" Then
                Dim j As Long
                For j = 2 To shInfor.Range("A600").End(xlUp).Row
                    If VBA.Left(.Range("E" & i).Value, Len(shInfor.Range("A" & j).Value)) = shInfor.Range("A" & j).Value Then
                        shdata.Range("A" & i + 1 & ":A" & i + shInfor.Range("B" & j).Value).EntireRow.Insert
                        shdata.Range("C" & i + 1).Value = shInfor.Range("C" & j).Value
                        Exit For
                    End If
                Next
            End If
        Next
    End With
End Sub
Nhờ thầy giúp em chỉnh sửa code để dòng trước các từ khóa "LMBT"; "LMV"....và dòng chứa từ khóa đó có chữ là dạng chữ nghiêng, và có màu cùng màu với màu ở bài #9 (sau khi chạy code nội dung dòng thứ 51 và dòng thứ 52 mới được chèn có thuộc tính chữ nghiêng và có màu xanh)
Các dòng khác cũng tương tự.
chi nhiu.png
 

File đính kèm

  • file em.xlsm
    1.9 MB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0
Thầy ơi, cũng cùng chủ đề sửa màu chữ và để có dạng chữ nghiêng"Italic"
Đoạn code dưới đây, sau khi em chạy sẽ tự động chèn 1 dòng trống dưới và điền mã "LMBT"; LMV"......vào ô C ngay dưới dòng đó sau khi lấy dữ liệu ở Sheet "TU KHOA LAY MTN" để đối chiếu (sau khi chạy code xuất hiện dòng 52 )
Mã:
Sub MauTN()
    Dim shdata As Worksheet
    Dim shInfor As Worksheet
    Set shInfor = Sheets("TU KHOA LAY MTN")
    Set shdata = Sheets("Danh muc NT CVXD")
    Dim i As Long
    With shdata
        For i = .Range("E" & .Rows.Count).End(xlUp).Row To 1 Step -1
            If .Range("E" & i) <> "" And .Range("C" & i + 1) = "" Then
                Dim j As Long
                For j = 2 To shInfor.Range("A600").End(xlUp).Row
                    If VBA.Left(.Range("E" & i).Value, Len(shInfor.Range("A" & j).Value)) = shInfor.Range("A" & j).Value Then
                        shdata.Range("A" & i + 1 & ":A" & i + shInfor.Range("B" & j).Value).EntireRow.Insert
                        shdata.Range("C" & i + 1).Value = shInfor.Range("C" & j).Value
                        Exit For
                    End If
                Next
            End If
        Next
    End With
End Sub
Nhờ thầy giúp em chỉnh sửa code để dòng trước các từ khóa "LMBT"; "LMV"....và dòng chứa từ khóa đó có chữ là dạng chữ nghiêng, và có màu cùng màu với màu ở bài #9 (sau khi chạy code nội dung dòng thứ 51 và dòng thứ 52 mới được chèn có thuộc tính chữ nghiêng và có màu xanh)
Các dòng khác cũng tương tự.
View attachment 209471
Tập viết thì mới biết được chứ. Cái gì cũng đi nhờ thế này mai nó lỗi 1 tẹo lại đi nhờ tiếp mỏi lắm. Nhất là Bạn đang làm file HS QLCL -\\/.
 
Upvote 0
Thầy ơi, cho em hỏi chút xíu, em đã bỏ "Conditional Formating" đi, nhờ thầy giúp em chỉnh code mà thầy đã viết giúp để khi chạy code, thì dòng chữ màu tím (dang ở dạng chữ đứng) trở thành "Italic" (thuộc tính chữ nghiêng) và cho em hỏi thêm nếu muốn thay đổi màu của chữ thì phải chỉnh sửa phần nào trong code ạ?
Trong đoạn
Mã:
With Selection.Offset(1)
    .Font.Color = RGB(100, 0, 255)
    .Value = text
End With
Muốn thêm gì thì thêm. Vd. Italic thì thêm
Mã:
.Font.Italic = True
Muốn Bold thì cũng tương tự.

Trong VBE hãy nhập từ Font vào trường ở bên trái phía trên rồi nhấn Enter, rồi đọc. Vd. đọc mục
"Font Object, Bold, Italic, Size, StrikeThrough, Underline, Weight Properties Example" và các mục khác. Có những ví dụ thì tự test để hiểu. Học là đọc tài liệu và thử nghiệm để hiểu lý thuyết.

Dòng thay mầu chữ là
Mã:
.Font.Color = RGB(100, 0, 255)
Người ta đã đặt những tên mà chỉ cần đọc có suy nghĩ là có thể đoán nó là gì. Font là phông chữ, Color là mầu. Ở đây là mầu của phông chữ (Color là thuộc tính của đối tượng phông chữ). Vậy muốn mầu khác thì tự thay đổi 3 giá trị trong hàm RGB. 3 giá trị BAI đều >= 0 và <= 255. Thay vì 100, 0, 255 thì nhập 3 giá trị khác bất kỳ trong khoảng [0;255] rồi mục sở thị mầu đã thay đổi thế nào.
 
Upvote 0
Trong đoạn
Mã:
With Selection.Offset(1)
    .Font.Color = RGB(100, 0, 255)
    .Value = text
End With
Muốn thêm gì thì thêm. Vd. Italic thì thêm
Mã:
.Font.Italic = True
Muốn Bold thì cũng tương tự.

Trong VBE hãy nhập từ Font vào trường ở bên trái phía trên rồi nhấn Enter, rồi đọc. Vd. đọc mục
"Font Object, Bold, Italic, Size, StrikeThrough, Underline, Weight Properties Example" và các mục khác. Có những ví dụ thì tự test để hiểu. Học là đọc tài liệu và thử nghiệm để hiểu lý thuyết.

Dòng thay mầu chữ là
Mã:
.Font.Color = RGB(100, 0, 255)
Người ta đã đặt những tên mà chỉ cần đọc có suy nghĩ là có thể đoán nó là gì. Font là phông chữ, Color là mầu. Ở đây là mầu của phông chữ (Color là thuộc tính của đối tượng phông chữ). Vậy muốn mầu khác thì tự thay đổi 3 giá trị trong hàm RGB. 3 giá trị BAI đều >= 0 và <= 255. Thay vì 100, 0, 255 thì nhập 3 giá trị khác bất kỳ trong khoảng [0;255] rồi mục sở thị mầu đã thay đổi thế nào.
Vâng em cám ơn thầy!
Thầy giúp em nốt vẫn đề còn lại ở bài 10, vì đoạn code có cấu trúc khác, thì chỉnh sửa phần nào vậy ạ? để dòng số 51 và 52 khi chạy code thì nội dung chữ ở các dòng đó (dòng số 51, 52) cũng ở dạng chữ nghiêng và tô màu.
Em chưa hiểu về cấu tạo code nên chưa biết sửa phần nào, em cũng đang học, thầy giúp em nhé!
 
Lần chỉnh sửa cuối:
Upvote 0
Nhờ thầy giúp em chỉnh sửa code để dòng trước các từ khóa "LMBT"; "LMV"....và dòng chứa từ khóa đó có chữ là dạng chữ nghiêng, và có màu cùng màu với màu ở bài #9
Có nghĩa là thế nào? Toàn bộ dòng từ cột A tới cột XFD đều Italic và mầu? Hay chỉ có cột E? Hãy tập nói rõ và chính xác.

Tôi chỉ thiết lập cho cột E. Nếu muốn mầu khác thì tự sửa.
Trước dòng Exit For thì thêm cụm
Mã:
With shdata.Range("E" & i).Resize(2).Font
                            .Italic = True
                            .Color = RGB(0, 255, 0)
End With

Mọi vấn đề mới hãy hỏi trong chủ đề mới.
 
Upvote 0
Có nghĩa là thế nào? Toàn bộ dòng từ cột A tới cột XFD đều Italic và mầu? Hay chỉ có cột E? Hãy tập nói rõ và chính xác.

Tôi chỉ thiết lập cho cột E. Nếu muốn mầu khác thì tự sửa.
Trước dòng Exit For thì thêm cụm
Mã:
With shdata.Range("E" & i).Resize(2).Font
                            .Italic = True
                            .Color = RGB(0, 255, 0)
End With

Mọi vấn đề mới hãy hỏi trong chủ đề mới.
Dạ em cám ơn thầy nhiều, lần sau em sẽ diễn đạt rõ và chính xác ạ!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom