Avatar billede meiland Mester
24. august 2021 - 21:49 Der er 1 kommentar og
1 løsning

VBA: Finde ud af om værdi findes i et defineret range

Hej Eksperter !!

Jeg har et regneark med et data-ark og et værdi ark.

I værdiarket skal jeg i bestemte kolonner (f.eks. J) fra fra række 8 til lastrow finde de celleværdier som ikke findes i data-arket's kolonne B4:B10.
Hvis celleværdien (i værdi-arket) ikke findes på data-arket, skal cellen udfyldes med gult.
Jeg tænker at koden skal ligne lidt ala:

For række=8 to lastrow then
  if cells(10,række).value "ikke findes i sheets("Data").range("B4:B10")" then
    ActiveCell.Interior.Color = 65535
  end if
next række

Udfordringen er koden i "".
Jeg kunne selvfølgelig for hver værdi i kolonne J, lave en løkke, der løber igennem data i B4:B10,

Håber, at I har en løsning.
Avatar billede jens48 Ekspert
24. august 2021 - 23:02 #1
Noget i denne stil vil kunne bruges:

Sub test()
Dim LastRow, Rk As Long
LastRow = Range("J" & Cells.Rows.Count).End(xlUp).Row
For Rk = 8 To LastRow
If WorksheetFunction.CountIf(Range("B4:B10"), Cells(Rk, 10)) = 0 Then
Cells(Rk, 10).Interior.Color = 65535
End If
Next
End Sub
Avatar billede meiland Mester
24. august 2021 - 23:23 #2
Hej Jens48
Tak for hjælpen - Det var lige den hjælp jeg behøvede.
Jeg måtte lige tilføje en ekstra ting, da ikke alle celler i kolonne J har en værdi.


Sub test()
Sheets("Specification").Select
Dim LastRow, Rk As Long
LastRow = Range("J" & Cells.Rows.Count).End(xlUp).Row
For Rk = 8 To LastRow
If WorksheetFunction.CountIf(Sheets("data").Range("Std_Tools"), Cells(Rk, 10)) = 0 Then
    If Len(Cells(Rk, 10).Value) > 0 Then Cells(Rk, 10).Interior.Color = 65535
End If
Next
End Sub
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester