• 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.

vereenvoudiging code

Status
Niet open voor verdere reacties.

lento

Gebruiker
Lid geworden
22 mrt 2017
Berichten
17
Code:
For i = 1 To 30 Step 1
        For j = 1 To 84 Step 1
        If Cells(i + 1, j).Interior.ColorIndex = xlNone Then
            If Cells(i, j) = "X" Then
              Cells(i + 1, j + 1).Interior.ColorIndex = 3
              Cells(i - 1, j - 1).Interior.ColorIndex = 3
              Cells(i, j + 1).Interior.ColorIndex = 3
              Cells(i + 1, j).Interior.ColorIndex = 3
              Cells(i + 1, j - 1).Interior.ColorIndex = 3
              Cells(i - 1, j + 1).Interior.ColorIndex = 3
              Cells(i - 1, j).Interior.ColorIndex = 3
              Cells(i, j - 1).Interior.ColorIndex = 3
              Cells(i + 2, j + 2).Interior.ColorIndex = 3
              Cells(i - 2, j - 2).Interior.ColorIndex = 3
              Cells(i, j + 2).Interior.ColorIndex = 3
              Cells(i + 2, j).Interior.ColorIndex = 3
              Cells(i + 2, j - 2).Interior.ColorIndex = 3
              Cells(i - 2, j + 2).Interior.ColorIndex = 3
              Cells(i - 2, j).Interior.ColorIndex = 3
              Cells(i, j - 2).Interior.ColorIndex = 3
              Cells(i + 1, j + 2).Interior.ColorIndex = 3
              Cells(i + 1, j - 2).Interior.ColorIndex = 3
              Cells(i + 2, j + 1).Interior.ColorIndex = 3
              Cells(i + 2, j - 1).Interior.ColorIndex = 3
              Cells(i - 1, j + 2).Interior.ColorIndex = 3
              Cells(i - 1, j - 2).Interior.ColorIndex = 3
              Cells(i - 2, j + 1).Interior.ColorIndex = 3
              Cells(i - 2, j - 1).Interior.ColorIndex = 3
              Else: chb1.Value = False
            End If
            
        End If
        Next j
    Next i
Is er een manier om dit korter te maken ?
 
iets in deze vorm?

Code:
For Each cl In Cells(3, 3).Resize(30, 84)
    If cl.Offset(1).Interior.ColorIndex = xlNone And cl.Value = "X" Then cl.Offset(-2, -2).Resize(4, 4).Interior.ColorIndex = 3
  Next cl
 
Lijkt me typisch iets voor voorwaardelijke opmaak.
 
zoiets inderdaad. Het is een hele hoop dat ik moest typen, maar op jou manier gaat het makkelijker.
Danku!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan