Cách làm giá trị, giống cả màu sắc (1 người xem)

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

LienDong

Thành viên thường trực
Tham gia
22/11/12
Bài viết
237
Được thích
46
Nghề nghiệp
Ai nói đúng thì làm!
Cho em hỏi
ví dụ B1=A1
có cách nào ô B1 giống cả màu sắc như ô A1 không, ô A1 có giá trị là 10 và tô chữ màu đỏ
thì ô B1 cũng có giá trị là 10 và tô chữ màu đỏ
nếu A1 thay đổi thì ô B1 cũng thay đổi theo
Em cảm ơn.
 
Code này là do AI viết, mình đã kiểm chứng và chạy được
B1: Dán đoạn code này vào Module
Mã:
Public A1_LastFormatHash As String

Public Function GetRangeFormatHash(ByVal Rng As Range) As String
    If Rng.Cells.Count <> 1 Then Exit Function

    With Rng
        GetRangeFormatHash = "Int: " & .Interior.Color & _
                             "|FontColor: " & .Font.Color & _
                             "|FontName: " & .Font.Name & _
                             "|FontSize: " & .Font.Size & _
                             "|Bold: " & .Font.Bold & _
                             "|Italic: " & .Font.Italic & _
                             "|Underline: " & .Font.Underline
    End With
End Function

B2: Dán đoạn code này vào Sheet bạn muốn
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
        Me.Range("A1").Copy
        Me.Range("B1").PasteSpecial xlPasteAll
        Application.CutCopyMode = False
      
        A1_LastFormatHash = GetRangeFormatHash(Me.Range("A1"))
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim CurrentFormatHash As String
  
    If Application.CutCopyMode = xlCopy Or Application.CutCopyMode = xlCut Then Exit Sub
  
    CurrentFormatHash = GetRangeFormatHash(Me.Range("A1"))
  
    If CurrentFormatHash <> A1_LastFormatHash Then
        Me.Range("A1").Copy
        Me.Range("B1").PasteSpecial xlPasteAll
        Application.CutCopyMode = False
      
        A1_LastFormatHash = CurrentFormatHash
    End If
End Sub

Cách dùng: Khi bạn thay đổi giá trị trong ô A1 thì ô B1 sẽ tự động thay đổi theo, khi bạn thay đổi màu nền, màu chữ ô A1 xong thì bấm vào bất cứ ô nào khác trong sheet thì B1 sẽ giống A1. Nếu mình tự viết thì cũng được nhiêu đó thôi, bạn cần nhiều hơn thì chờ thành viên khác hỗ trợ tiếp
 
Nếu đã dùng VBA thì record macro phi vụ copy paste format, cho vào sự kiện Worksheet_Change (với điều kiện giới hạn vùng target). Như vậy code chỉ có 1 câu lệnh duy nhất.
 

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

Back
Top Bottom