Programmacode toepassen op specifieke ranges ipv hele kolom

Status
Niet open voor verdere reacties.

Torben

Gebruiker
Lid geworden
27 apr 2017
Berichten
46
Goedeavond,

Kan iemand mij het volgende laten zien:
Hoe moet de aanwezige programmacode (te vinden via rechtermuis op tabblad) worden aangepast?
Wat doet de code nu: het past de code toe op alle cellen van een aantal kolommen.
Ik wil graag dat de code alleen werkt bij een gedeelte van de kolommen.

De aanwezige code:
Code:
Private Sub Worksheet_Change(ByVal target As Range)
  If Not Intersect(target, Range("C1:E1,K1:M1,S1:U1,AA1:AC1,AI1:AK1,AQ1:AS1,AY1:BA1").EntireColumn) Is Nothing And Not IsEmpty(target) And target.Cells.Count = 1 Then
    Application.EnableEvents = False
    target = Replace(Format(target / 100, "00.00"), ",", ":")
    Application.EnableEvents = True
  End If
End Sub
Range("C1:E1,K1:M1,S1:U1,AA1:AC1,AI1:AK1,AQ1:AS1,AY1:BA1").EntireColumn)
Ik vermoed dat alleen dit stukje moet worden aangepast. Hoe moet dit worden aangepast zodat het bijvoorbeeld alleen werkt op de ranges C5:E12 & C15:E25 & I5:K12?
Ik heb wat dingen geprobeerd zoals .EntireColumn vervangen voor dingen als .Range, maar ik krijg het niet voor elkaar.

Bekijk bijlage Voorbeeld_Programmacode_voor_forum.xlsm
 
Kijk eens naar Target.Column en Target.Count
 
De .EntireColumn moet anders, maar hoe? Als ik het weglaat gebeurd er niks meer, werkt niet.
.Range ipv .EntireColumn wordt niet geaccepteerd. .Cells ook niet. Wat moet er dan wel staan, zodat de code wordt toegepast op een serie bereiken?

Waarom zou ik naar Target.Count moeten kijken? Het stukje target.cells.count zorgt er denk ik voor dat de code alleen wordt toegepast wanneer de gebruiker 1 cel heeft geselecteerd? En dat is dan toch prima zo?
 
Werkt mooi zo'n lege kleurplaat. Om welk bereik moet het gaan? Kolomkoppen gebruik je niet? Alles is altijd leeg of zijn de gele cellen altijd een vast bereik?
 
Laatst bewerkt:
Het originele bestand is veel te groot om te uploaden, daarom dit (bijna) blanco bestand als bijlage. In de bijlage staat de programmacode die werkt voor complete kolommen. (Bijv. 1800 automatisch aanpassen naar 18:00)
Wat er nu mis gaat, is dat de code is toegepast op complete kolommen.

Ik ben op zoek naar de programmacode die alléén werkt voor meerdere vaste ranges, niet complete kolommen. De ranges zijn vaste gebieden, die veranderen nooit. De 'kleurplaat' in de bijlage had ik even toe moeten lichten, sorry. Ik gaf met de gele vlakken een voorbeeld voor de ranges waar de programmacode op van toepassing moet worden.

Hoe ziet de code er uitzien als het alleen gaat werken op bijvoorbeeld de ranges C5:E12 & C15:E25 & I5:K12 ?
 
Laatst bewerkt:
Code:
[COLOR=#333333]if not intersect(target,range("C5:E12,C15:E25,I5:K12")) is nothing then[/COLOR]
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan