Hiện ngay ô bên cạnh hoặc bất kỳ ô nào cũng được, chỉ cần tránh các ô ở cột A, vì dữ liệu sẽ được nhập nối tiếp xuống dòng liên tục và mình cần là nó hiện sẽ ra kết quả sau khi nhập thêm dữ liệu.View attachment 287706
Ở đâu sẽ hiện ra bác, nhập ô đó rồi hiện luôn trong ô đó chăng?
Như vì dụ của bạn thì nhập 245 thì hiển thị 246 hay 245 còn có thể hiểu;Ví dụ : Nhập số 245 vào ô A15 thì sẽ hiện ra số 246 + 213 + 234 + 245
Vì nó có 4 ô có giá trị 245 nên mình cần nó trả 4 kết quả là các ô nằm ngay bên trên ô 245Như vì dụ của bạn thì nhập 245 thì hiển thị 246 hay 245 còn có thể hiểu;
Nhưng lại hiển thị 213 hay 234 thì hết biết!
Theo em đoán mò thì nếu nhập 245 lấy ô trước đó của các ô chứa 245, tức lùi lại 1 dòng đó thầy.Như vì dụ của bạn thì nhập 245 thì hiển thị 246 hay 245 còn có thể hiểu;
Nhưng lại hiển thị 213 hay 234 thì hết biết!
Anh xem file xem đúng ý anh chưa.Vì nó có 4 ô có giá trị 245 nên mình cần nó trả 4 kết quả là các ô nằm ngay bên trên ô 245
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rws As Long
Dim Rng As Range, sRng As Range
Dim MyAdd As String, ThongBao As String
Rws = [A7].CurrentRegion.Rows.Count
If Not Intersect(Target, [A1].Resize(2 * Rws)) Is Nothing Then
Set Rng = Union(Range([A1], Target.Offset(-1)), Range(Target.Offset(1), Cells(2 * Rws, "A")))
Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
If sRng Is Nothing Then
ThongBao = "Nothing!"
Else
MyAdd = sRng.Address
Do
ThongBao = ThongBao & sRng.Address & Chr(10)
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
MsgBox ThongBao
End If
End Sub
Cám ơn em nhé, đúng ý anh rồi, chuẩn luôn, triệu likeTheo em đoán mò thì nếu nhập 245 lấy ô trước đó của các ô chứa 245, tức lùi lại 1 dòng đó thầy.
Bài đã được tự động gộp:
Anh xem file xem đúng ý anh chưa.
Em check giúp anh dòng cuối kết quả ra bị sai, nếu nhập giá trị bằng giá trị của ô đầu tiên thì phải trả kq rỗng mà nó lại trả kq bằng đúng ô đầu tiên luônTheo em đoán mò thì nếu nhập 245 lấy ô trước đó của các ô chứa 245, tức lùi lại 1 dòng đó thầy.
Bài đã được tự động gộp:
Anh xem file xem đúng ý anh chưa.
Em điều chỉnh tí xíu, anh kiểm tra lại nha.Cám ơn em nhé, đúng ý anh rồi, chuẩn luôn, triệu like
Bài đã được tự động gộp:
Em check giúp anh dòng cuối kết quả ra bị sai
Nó vẫn dư ra 1 giá trị nếu ô tiếp theo nhập bằng giá trị ô đầu tiênEm điều chỉnh tí xíu, anh kiểm tra lại nha.
246 | ||
245 | 246 | 1 |
321 | 245 | 1 |
123 | 321 | 1 |
213 | 123 | 1 |
245 | 246+213 | 2 |
321 | 245+245 | 2 |
321 | 245+245+321 | 3 |
123 | 321+321 | 2 |
213 | 123+123 | 2 |
245 | 246+213+213 | 3 |
123 | 321+321+245 | 3 |
234 | 123 | 1 |
245 | 246+213+213+234 | 4 |
456 | 245 | 1 |
123 | 321+321+245+456 | 4 |
213 | 123+123+123 | 3 |
246 | 213 | 1 |
246 | 246+213+246 | 2 |
Anh chưa kéo công thức mới xuống đó.Nó vẫn dư ra 1 giá trị nếu ô tiếp theo nhập bằng giá trị ô đầu tiên
Cám ơn em nhiều nhéAnh chưa kéo công thức mới xuống đó.
Thử nhé bạn. . .Nó vẫn dư ra 1 giá trị nếu ô tiếp theo nhập bằng giá trị ô đầu tiên
246 245246 1 321245 1 123321 1 213123 1 245246+213 2 321245+245 2 321245+245+321 3 123321+321 2 213123+123 2 245246+213+213 3 123321+321+245 3 234123 1 245246+213+213+234 4 456245 1 123321+321+245+456 4 213123+123+123 3 246213 1 246246+213+246 2
=LEFT(CONCAT(IF(A2=A$2:A2;A$1:A1&"+";""));LEN(CONCAT(IF(A2=A$2:A2;A$1:A1&"+";"")))-1)
Bạn thử đổi ; thành , xem sao.Nó báo lỗi bạn ơi
View attachment 287836