vanduynguyen1983
Thành viên hoạt động



- Tham gia
- 21/6/13
- Bài viết
- 101
- Được thích
- 8




Kiểm tra xem thế nàoAnh chị giúp em lập công thức hoặc viết VBA cho 2 cột text so sánh cho ra kết quả number em gởi file đính kèm . Rat mong Anh chị coi giúp em với
Public Sub VanDuyNguyen()
Dim MSA, MSE, kq(), r As Long, i
With Sheet1
MSA = .Range("A4", .Range("B65000").End(xlUp))
MSE = .Range("E4", .Range("F65000").End(xlUp))
.UsedRange.ClearFormats
ReDim kq(1 To UBound(MSE) + UBound(MSA), 1 To 2)
End With
With CreateObject("scripting.dictionary")
For r = 1 To UBound(MSE)
.Item(MSE(r, 1)) = .Item(MSE(r, 1)) + MSE(r, 2)
Next r
For r = 1 To UBound(MSA)
If .exists(MSA(r, 1)) Then
i = i + 1
kq(i, 1) = MSA(r, 1)
kq(i, 2) = MSA(r, 2) - .Item(MSA(r, 1))
.Remove MSA(r, 1)
Else
Sheet1.Range("A" & r + 3, "B" & r + 3).Interior.ColorIndex = 6
End If
Next r
For r = 1 To UBound(MSE)
If .exists(MSE(r, 1)) Then
Sheet1.Range("E" & r + 3, "F" & r + 3).Interior.ColorIndex = 8
End If
Next r
End With
Sheet1.Range("G4").Resize(UBound(MSE) + UBound(MSA), 2).Clear
Sheet1.Range("G4").Resize(i, 2) = kq
End Sub
Anh chị giúp em lập công thức hoặc viết VBA cho 2 cột text so sánh cho ra kết quả number em gởi file đính kèm . Rat mong Anh chị coi giúp em với




=IFERROR(INDEX($A$4:$A$324,SMALL(IF(COUNTIF($E$4:$E$184,$A$4:$A$324)>0,ROW($A$4:$A$324)-ROW($A$4)+1,""),ROWS($1:1))),"")
=SUMIF($A$4:$A$324,G4,$B$4:$B$324)-SUMIF($E$4:$E$184,G4,$F$4:$F$184)




Xem file đính kèm. Chạy trên sheet1Bạn giúp mình đưa doan code này vô file mẫu mình với sao mình đưa vô không thấy nó chạy
Yêu cầu không khó mà trình bày trong file đọc như mớ bòng bong ý, chắc là mình đang mơ ngủAnh chị giúp em lập công thức hoặc viết VBA cho 2 cột text so sánh cho ra kết quả number em gởi file đính kèm . Rat mong Anh chị coi giúp em với
=IFERROR(INDEX($E$4:$E$184,MATCH(1,INDEX((COUNTIF($E$4:$E$184,$A$4:$A$84)>0)*(COUNTIF($G$3:G3,$E$4:$E$184)=0),0),0),0),"")
=SUMIF($A$4:$A$85,G4,$B$4:$B$85)-SUMIF($E$4:$E$184,G4,$F$4:$F$184)
=AND(($A4<>""),COUNTIF($E$4:$E$184,$A4)=0)
=IFERROR(INDEX($A$4:$A$84,MATCH(1,INDEX((COUNTIF($E$4:$E$184,$A$4:$A$84)=0)*(COUNTIF($I$3:I3,$A$4:$A$84)=0)*($A$4:$A$84<>""),0),0),0),"")
=COUNTIF($A$4:$A$84,$E4)=0
=IFERROR(INDEX($E$4:$E$184,MATCH(1,INDEX((COUNTIF($A$4:$A$84,$E$4:$E$184)=0)*(COUNTIF($J$3:J3,$E$4:$E$184)=0),0),0),0),"")






Vậy bạn cho code vào sự kiện Worksheet_Change của sheet luôn, và nhớ kiểm tra trên cột A mới thực hiện.Bạn cho mình hỏi mỗi lần thay đổi số thì mình run thì vba mới chạy đc hả bạn. Bạn giúp mình thêm cái này với .
Nếu cột A thay đổi text bất kỳ cho giống cột E va nguoc lai thì VBA vẩn hiêu và cho ra kết quả mới






Bạn giúp mình hiệu chỉnh công thức với mình có thêm vài cái nữa mình lấy cột A làm chuẩn để cho ra kết quả mình gởi file có gì bạn xem giúp mình với . Cảm ơn bạn giúp đỡ



Bạn hỏi tiếp bài của ai thì nên trích dẫn vài dòng của bài đó chứ...
Cái đó là định dạng có điều kiện (Conditional Formatting), bạn sửa lại vùng của 2 name tôi đã tạo là được (Nhấn Ctrl + F3 để xem)



mình làm được rồi cám ơn bạn nhiềuVậy bạn cho code vào sự kiện Worksheet_Change của sheet luôn, và nhớ kiểm tra trên cột A mới thực hiện.
mình kiểm tra thấy cột A có (125+450)x450 cột E cũng có (125+450)x450 công thức của vẫn tô màu nó không hiểu 2 thằng đó giống nhau. bạn kiểm tra dùm mình vói



Mình kiểm tra chủ nhưng không biết tại sao nên mới nhờ bạn mình kiểm tra gần 2 tiếng mà k ra nên mới lên nhờ bạn coi dùm nè heheheTại sao bạn không tự kiểm tra mà lại đề nghị tôi kiểm tra?
Nếu đúng như bạn nói thì tại sao khi B106 = 1 mà G106 = -1 ?
Bạn thử nhập vào ô H106 = A106=E312 xem kết quả là gì?