14. maj 2019 - 19:11Der er
5 kommentarer og 1 løsning
VBA finde 3 højste værdier i matrix
Jeg har lidt problem med følgende: jeg har 4 kolonner og 25 rækker med tal B1 E25 en kolonne med tekst A1:A25
Jeg vil gerne finde de 3 højeste værdier i området B1:E25 og i hvilken celle værdien er, så jeg kan hente teksten i kolonne A1:A25 resultatet ønsker jeg således: 1. jan 100 2. per 99 osv Hvordan pokker løser jeg det problem? På forhånd tak /fajens
Hej Mads32 Herunder er der en løsning, kan muligvis forfines lidt. Naceoeb er lidt kringlet men umiddelbart ser den ud til at virke som ønsket. Resultatet bliver vist i en message box i arket "INDTAST SCORE" er der føgende kolonner: A6:A145 fortløbende startnumre B6:B145 Navne C6:C145 klubnavne D6:D145 klubnumre E6:E145 grupper F6:F145 Handicap G6:I145 indtastede score i 3 kolonner, tal mellem 100 og 300 med dubletter.
Sub find_hoejst_score() ' Genvejstast:Ctrl+h ' Macro der finder den laveste totale score i valgt område. ' start og slut er rækkenumre ikke startnumre
Dim hs(5, 4) Dim plc(5, 2)
Worksheets("INDTAST SCORE").Activate d = 6 c = 145 For b = 1 To 5 For a = c To d Step -1 If Sheets("INDTAST SCORE").Cells(a, 7) = "" Then GoTo nxt1 For aa = 7 To 9 If Val(Cells(a, aa)) + Cells(a, 6) >= hs(b, 3) Then If plc(b - 1, 1) = a And plc(b - 1, 2) = aa Then GoTo nxt2 If b = 1 Then GoTo nxt3 If plc(b - 2, 1) = a And plc(b - 2, 2) = aa Then GoTo nxt2 If b = 2 Then GoTo nxt3 If plc(b - 3, 1) = a And plc(b - 3, 2) = aa Then GoTo nxt2 If b = 3 Then GoTo nxt3 If plc(b - 4, 1) = a And plc(b - 4, 2) = aa Then GoTo nxt2 nxt3: plc(b, 1) = a plc(b, 2) = aa hs(b, 1) = Cells(a, 1) hs(b, 2) = Cells(a, 2) hs(b, 3) = Cells(a, aa) + Cells(a, 6) hs(b, 4) = Cells(a, 6) nxt2: End If Next aa nxt1: Next a Next b MsgBox hs(1, 1) & " " & hs(1, 2) & " " & hs(1, 3) & " " & hs(1, 4) & Chr(13) & _ hs(2, 1) & " " & hs(2, 2) & " " & hs(2, 3) & " " & hs(2, 4) & Chr(13) & _ hs(3, 1) & " " & hs(3, 2) & " " & hs(3, 3) & " " & hs(3, 4) & Chr(13) & _ hs(4, 1) & " " & hs(4, 2) & " " & hs(4, 3) & " " & hs(4, 4) & Chr(13) & _ hs(5, 1) & " " & hs(5, 2) & " " & hs(5, 3) & " " & hs(5, 4) End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.