11. maj 2020 - 23:03Der er
13 kommentarer og 1 løsning
VBA: Finde værdi i kolonne
Hej eksperter.
Jeg har i A3:A8 række værdier stående 500 600 750 900 1150 1500
I C3 står den værdi, som jeg forsøge af finde i A3:A8. Hvis C3 ikke findes, skal jeg finde den værdi, der er tættest på - rundet op. resultatet skrives til celle D3. Der ses bort fra værdier mindre end 500 og større end 1500 Eks: 510 => værdi = 600 1149 => værdi = 1150 750=> værdi =750
Så vises der en tom celle, hvis C5 er mindre end 500. IO begge tilfælde skal formlerne indtastes som matrixformel. Det vil sige at der skal afsluttes med Ctrl+Skift+Enter.
Man skal huske med lopslag at såfremt at tallene der søges i ikke er sorteret fra mindst til størst kan resultatet man får med parameteren Sand være forkert.
Sub find_nærmeste() Dim Value As Long Dim x As Integer Value = Range("C3").Value If Value < 500 Or Value > 1500 Then Range("C4") = "" Else x = WorksheetFunction.CountIf(Range("A3:A8"), "<" & Value) Range("C4") = Range("A3").Offset(x, 0) End If End Sub
If vaardi < 500 Then Tykkelse = 500 If vaardi > 1500 Then Tykkelse = 1500
If vaardi >= 500 And vaardi <= 1500 Then If vaardi = Application.WorksheetFunction.VLookup(vaardi, Sheets("Ark1").Range("A3:a8"), True) Then Tykkelse = vaardi Else Tykkelse = Application.WorksheetFunction.Index(Sheets("Ark1").Range("A3:A8"), Application.WorksheetFunction.Match(vaardi, Sheets("Ark1").Range("A3:A8"), 1) + 1) End If End If
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.