TÌM VỊ TRÍ MAX VÀ MIN BẰNG VBA

  • Thread starter Thread starter LOIKS
  • Ngày gửi Ngày gửi
Liên hệ QC

LOIKS

Thành viên chính thức
Tham gia
10/8/18
Bài viết
97
Được thích
7
chào mọi người
mình có 1 sheet rất nhiều dữ liệu nay mình muốn tìm vị trị max và min tại ô " vị trí " tương ứng với từng cấu kiện tại ô "cấu kiện" rồi đánh dấu * vào ô đánh dấu
trong bài này mình có các cấu kiện từ B105 đến B23
mình đả sử dụng hàm DMAX và DMIN nhưng trong nhiều trường hợp nó vẫn bị lỗi, mong moi người giúp đỡ
 

File đính kèm

chào mọi người
mình có 1 sheet rất nhiều dữ liệu nay mình muốn tìm vị trị max và min tại ô " vị trí " tương ứng với từng cấu kiện tại ô "cấu kiện" rồi đánh dấu * vào ô đánh dấu
trong bài này mình có các cấu kiện từ B105 đến B23
mình đả sử dụng hàm DMAX và DMIN nhưng trong nhiều trường hợp nó vẫn bị lỗi, mong moi người giúp đỡ
tức là tìm max và min tai mỗi vị trí của từng cấu kiện?
 
Upvote 0
chào mọi người
mình có 1 sheet rất nhiều dữ liệu nay mình muốn tìm vị trị max và min tại ô " vị trí " tương ứng với từng cấu kiện tại ô "cấu kiện" rồi đánh dấu * vào ô đánh dấu
trong bài này mình có các cấu kiện từ B105 đến B23
mình đả sử dụng hàm DMAX và DMIN nhưng trong nhiều trường hợp nó vẫn bị lỗi, mong moi người giúp đỡ
 

File đính kèm

Upvote 0
chào mọi người
mình có 1 sheet rất nhiều dữ liệu nay mình muốn tìm vị trị max và min tại ô " vị trí " tương ứng với từng cấu kiện tại ô "cấu kiện" rồi đánh dấu * vào ô đánh dấu
Đánh dấu để làm gì?
 
Upvote 0
ĐÁNH DẤU ĐỂ SAU NÀY XOÁ MẤY Ô CÒN LẠI ĐÓ ANH
Vậy thì làm một lần luôn đi chứ đánh dấu làm gì
Tôi hỏi thế là vì tôi muốn bạn lưu tâm đến giải pháp PivotTable. Nếu bạn muốn lấy giá trị min, max ra rồi xóa những dữ liệu còn lại thì PivoTable chính là cái bạn cần, khỏi lòng vòng công thức hay VBA
 
Upvote 0
Vậy thì làm một lần luôn đi chứ đánh dấu làm gì
Tôi hỏi thế là vì tôi muốn bạn lưu tâm đến giải pháp PivotTable. Nếu bạn muốn lấy giá trị min, max ra rồi xóa những dữ liệu còn lại thì PivoTable chính là cái bạn cần, khỏi lòng vòng công thức hay VBA
dạ, hôm nay em mới nghe đến PivotTable, sau khi tìm được giá trị max và min thì e sẽ lấy giá trị đó đi tính toán tiếp ,mà nếu dùng pivot table thì có dễ dùng không anh ?
 
Upvote 0
dạ, hôm nay em mới nghe đến PivotTable, sau khi tìm được giá trị max và min thì e sẽ lấy giá trị đó đi tính toán tiếp ,mà nếu dùng pivot table thì có dễ dùng không anh ?
Đây là công cụ có sẵn, cũng giống như bao công cụ khác. Biết xài sẽ thấy dễ
 
Upvote 0
(1) Bài này đang sai so với nội qui; Bạn nên đề nghị các SMODs chuyển đến đúng địa chỉ của nó.

(2) Đó là do kí tự đại diện trong Excel nó hại bạn;
Bạn xem trong file để biết nó hại như thế nào.
& tự sửa trong VBA để nhớ lâu hơn!
 

File đính kèm

Upvote 0
Còn vẫn muốn qiuýnh dấu thì xài con cà chớn này:
PHP:
Sub TimCucTri()
 Dim WF As Object, Rng As Range, sRng As Range, Cls As Range
 Dim MyAdd As String
 Dim CucDai As Double, CucTieu As Double
 Set WF = Application.WorksheetFunction
 With Sheets("DuLieu")
    Set Rng = .Range(.[B1], .[B1].End(xlDown))
    For Each Cls In .Range(.[AA2], .[AA2].End(xlDown))
        .[i4].Value = Cls.Value
        CucDai = WF.DMax(.Columns("A:B"), .[B1], .[I1:i2])
        Set sRng = Rng.Find(CucDai, , xlFormulas, xlWhole)
        If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
                If sRng.Offset(, -1).Value = Cls.Value Then
                    sRng.Offset(, 2).Value = "Max"
                    Exit Do
                End If
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.AddIndent <> MyAdd
        End If    ' . . . . . . . . . . . . '
        CucTieu = WF.DMin(.Columns("A:B"), .[B1], .[I1:i2])
        Set sRng = Rng.Find(CucTieu)
        If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
                If sRng.Offset(, -1).Value = Cls.Value Then
                    sRng.Offset(, 2).Value = "Min"
                    Exit Do
                End If
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.AddIndent <> MyAdd
        End If
    Next Cls
 End With
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom