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

Target range te lang, hoe kan ik dit simpeler maken?

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

kaan

Gebruiker
Lid geworden
9 feb 2007
Berichten
189
Hoi Allen,

Ik zit met de probleem dat mijn target range te lang is!
Ik heb op internet zitten zoeken voor een oplossing hiervoor maar helaas geen oplossing voor kunnen vinden.

Wie kan mij helpen met een formule om de target range te kunnen versimpelen?

Target range begint bij rij B9 en loopt met 5 punten per keer op B9,B14,B19 en zo voort!

Al vorens veel dank hier voor.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("L7:L405,P7:P405,T7:T405,Y7:Y405")) Is Nothing Or _
Target.Count > 1 Then Exit Sub
With Target.Offset(, -1)
.Formula = Now
.NumberFormat = "HH:MM"
End With


    If Not Intersect(Target, Range("L7:L405,P7:P405,T7:T405")) Is Nothing Then
        Target.Offset(, -2).Value = "OK"
        Target.Offset(, -2).Interior.ColorIndex = 4
        Target.Offset(, -2).Font.Name = "Arial"
        Target.Offset(, -2).Font.Size = 8
    End If
    
    If Not Intersect(Target, Range("B9,B14,B19,B24,B29,B34,B39,B44,B49,B54,B59,B64,B69,B74,B79,B84,B89,B94,B99,B104,B109,B114,B119,B124,B129,B134,B139,B144,B149,B154,B159,B164,B169,B174,B179,B184")) Is Nothing Then
  Target.Interior.ColorIndex = IIf(Target.Value > 0, 6, xlNone)
End If
End Sub
 
Laatst bewerkt:
Ik loop niet je hele code bij langs, maar zo zou het kunnen.

Code:
 If Target.Column = 2 And Target.Row > 8 And Target.Row < 185 And Target.Row Mod 5 = 4 Then
    Target.Interior.ColorIndex = IIf(Target.Value > 0, 6, xlNone)
End If
 
Goedenavond Harry,

Ik zie dat ik maar de helft van de nodige code heb toegevoegd die nodig om het werkend te krijgen.

Kun je even kijken naar de voorbeeld file als je daar tijd voor heb?

Ik zit zelf ook te puzzelen maar het lukt mij niet helemaal.

Bekijk bijlage regfile2.xlsm
 
De Intersect-methode heeft net als Union een beperking van 30 argumenten.
 
Geef dat bereik een naam en gebruik die in je bewerkingen.
 
Allen,

Ik heb nu 2 dagen zitten sleutelen maar helaas is het mij niet gelukt om de code van HJarry te integreren in mijn code!

Wie wil een voorbeeld voor mij posten?

:( :(
 
Allen,

Ik heb nu 2 dagen zitten sleutelen maar helaas is het mij niet gelukt om de code van Harry te integreren in mijn code!

Wie wil een voorbeeld voor mij posten?

:( :(
 
Als oplossing van je probleem in kolom B volg je best de raad van Cobbe.
Het grotere probleem in je code is de 1ste regel. Deze zorgt er namelijk voor dat wanneer je doelcel zich niet in kolom L, P, T of Y bevindt de code verlaten wordt.
 
Sorry heren,

Door de drukte heb ik geen tijd om te gaan programmeren.

Vergeef het mij maar ik snap niet helemaal wat jullie bedoelen! :(

Wel heb ik de volgende geprobeerd zonder resultaat.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("L7:L405,P7:P405,T7:T405,Y7:Y405")) Is Nothing Or _
Target.Count > 1 Then Exit Sub
With Target.Offset(, -1)
.Formula = Now
.NumberFormat = "HH:MM"
End With


    If Not Intersect(Target, Range("L7:L405,P7:P405,T7:T405")) Is Nothing Then
        Target.Offset(, -2).Value = "Gate"
        Target.Offset(, -2).Interior.ColorIndex = 4
        Target.Offset(, -2).Font.Name = "Arial"
        Target.Offset(, -2).Font.Size = 8
    End If

 If Target.Column = 2 And Target.Row > 8 And Target.Row < 185 And Target.Row Mod 5 = 4 Then
    Target.Interior.ColorIndex = IIf(Target.Value > 0, 6, xlNone)
End If

End Sub
 
Laatst bewerkt:
Test het zo eens.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 2 And Target.Row > 8 And Target.Row < 185 And Target.Row Mod 5 = 4 Then
    Target.Interior.ColorIndex = IIf(Target.Value > 0, 6, xlNone)
ElseIf Intersect(Target, Range("L7:L405,P7:P405,T7:T405,Y7:Y405")) Is Nothing Or Target.Count > 1 Then
   Application.EnableEvents = True
   Exit Sub
Else
   Target.Offset(, -1) = Format(Now, "HH:MM")
    End If
    If Not Intersect(Target, Range("L7:L405,P7:P405,T7:T405")) Is Nothing Then
        Target.Offset(, -2).Value = "Gate"
        Target.Offset(, -2).Interior.ColorIndex = 4
        Target.Offset(, -2).Font.Name = "Arial"
        Target.Offset(, -2).Font.Size = 8
    End If
  Application.EnableEvents = True
End Sub
 
Hoi Harry,

Ik heb het wel toegevoegd maar op ene of andere manier wil het niet meewerken.

Zie de bijlagen!

Het gaat er om als ik op H9 of H14 enz. dubbelklik zal het mooie zijn als de cel dan van kleur gaat veranderen.
 

Bijlagen

Hoi kaan,

Test het bestandje eens.
 

Bijlagen

Harry en de rest,

heel veel dank voor jullie hulp, ik denk dat ik het hiermee ga redden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan