• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Problemen met intersect

  • Onderwerp starter Onderwerp starter keb
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

keb

Gebruiker
Lid geworden
20 feb 2011
Berichten
170
Een lijst met opbergplaatsen (genaamd rng) mag alleen maar codes bevatten die in een tabel op een ander tabblad voorkomen.
Mijn eerste lering: Intersect werkt niet met data op twee tabbladen.

Daarom eerst maar even kopieëren naar hetzelfde tabblad (nu rngLoclist)
Toch werkt onderstaande code niet.
Wat doe ik fout?

Code:
Function InRange(Range1 As Range, Range2 As Range) As Boolean
    ' returns True if Range1 is within Range2
    InRange = Not (Application.Intersect(Range1, Range2) Is Nothing)
End Function


Private Sub cmbCheck_Click()
Dim lastrow1, lastrow2, errors, max
Dim rngDest, rng, rngLoclist, c As Range

lastrow1 = Worksheets("Inventarislijst").Cells(ActiveSheet.Rows.Count, "A").End(xlUp).row
Set rng = Range("$C2:$C" + CStr(lastrow1))
'MsgBox rng.Address

Worksheets("Opslaglocaties").Range("A2:A1000").Copy ActiveSheet.Range("AA1")
lastrow2 = Cells(ActiveSheet.Rows.Count, "AA").End(xlUp).row
Set rngLoclist = Range("$AA1:$AA" + CStr(lastrow2))
'MsgBox rngLoclist.Address

For Each c In rng
   If InRange(ActiveCell, rngLoclist) Then
        c.Interior.ColorIndex = 4   'Light green
        'Within range
   Else
        'Outside range MsgBox c.Value
        c.Interior.ColorIndex = 3    'Red
        errors = errors + 1
   End If
   Next

If errors > 0 Then
    MsgBox "Er zijn " & errors & " fouten in de kolom (rood gemarkeerd)."
    Else
    MsgBox "Er zijn geen fouten in de kolom gevonden"
    End If
End Sub
 

Bijlagen

Laatst bewerkt door een moderator:
hallo keb, Intersect kijkt niet naar waarden maar naar gebieden van cellen in 1 blad die elkaar overlappen.

en gebieden in verschillende bladen overlappen elkaar nooit.

je kan heel eenvoudig met geneste loopjes kijken of er overeenkomsten zijn tussen de gebieden.
zie hoeven echt niet in het zelfde blad te staan.
 
Laatst bewerkt:
Geef dat bereik een naam, dan werkt het wel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan